일단 지난 주 금요일 부터 지금 목요일까지 맨땅에 해딩을 했다는 것만 생각하니 ㅂㄷㅂㄷ하다.
윈도우에 MySQL을 설치 하기위한 준비물은 다음과 같아..
윈도우 10과 MySQL 5.7 버전 Archive(ZIP) 버전 파일 (mysql-5.7.10-winx64)
일단 MySQL 커뮤니티 서버를 다운받아 (GPL) 라이센스에 따르기 때문에 이걸 설치해..
MySQL 페이지 >> Downloads >> Community >> MySQL Community Server (바로가기)
여기서 ZIP Archive 형식은 니 윈도우가 32비트냐 64비트냐에 따라서 구분해서 받고, ZIP 파일 말고 그냥 윈도우 인스톨러 형식으로 받을려면 MySQL installer MSI 버전을 받아..
MySQL installer MSI 버전은 따로 설명해줄게 없어..
ZIP Archive 는 Debug Binaries & Test Suite 말고 그냥 ZIP Archive 버전을 받아..
다운 받았으면 압축을 니꼴리는 경로에 풀어... 그리고 mysql 아래에 data 폴더를 생성해..
나는 압축을 풀고 기본 디렉토리 명인 "mysql-5.7.10-winx64" 에서 mysql로 변경했어.
Archive ZIP버전은 mysql을 구동하기 위한 기본 system DB도 없기 때문에 다음 명령어로
기본 system DB를 생성해줘야해 (일종의 초기화야..)
일단 cmd를 관리자 권한으로 하나 실행해..
mysql압축을 해제한 폴더에서 bin 폴더 로 이동을 하고 다음 명령어를 실행해..
(이미 오류가 나고 별에 별 시도를 해봤다면 e:\mysql\data 폴더 밑에 파일을 삭제하고 시도해.. 파일이 있으면 정상적으로 초기화가 진행이 안되)
예) 디렉토리 위치 : e:\mysql\bin
e:\mysql\bin> mysqld.exe --initialize
이걸 안하고 무작정 mysql을 서비스 등록하고 구동할려고시도하면 아래의 메시지를 만나보게 될꺼야...
관련 오류 및 경고 메시지
1. [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2. [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
[ERROR] --initialize specified but the data directory has files in it. Aborting.
[ERROR] Aborting
3. [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
[Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
[Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
이제 초기화를 했으면 서비스를 등록하고 root 계정의 암호를 생성해보자.
mysqld --console --explicit_defaults_for_timestamp --skip-grant-tables &
(mysql을 콘솔모드로 grant 테이블을 무시하고 구동하라는 것 같아.)
그리고 관리자 권한으로 cmd 창을 하나 더 실행 시켜서
mysql -u root mysql
를 실행해서 mysql에 접속을 시도해...
mysql> 라는 프롬프트가 뜨면 다음의 쿼리 문을 입력해서 암호를 변경해줘...
update USER set authentication_string=password('[설정할 암호]') where user='root';
flush privileges;
alter user 'root'@'localhost' identified by '[설정할 암호]';
\q
이러고 mysql 을 빠져 나와...
그러고 mysql -u root -p 를 입력하면 Enter Password : 라는 프롬프트가 떨어지고 여기에 좀전에 설정한 암호를 입력하면 mysql에 접속을 하는글 확인하고...
bin 폴더 에서 mysqld -install 을 해서 윈도우 서비스에 등록을 해서 사용하면 되...
여기까지가 기본적인 mysql 설치 및 설정이야...