0.
윈도우 10을 깔고, 개발환경을 구축하고 있습니다.
이곳저곳 기웃거리며 mysql 수동설치를 찾는데, 16/02/11기준 mysql 최신 버전이라 그런것인지 설치 방법이 조금씩 달랐습니다.
에러들을 처리하고 나서 정리하는 겸 적습니다.
1.
http://dev.mysql.com/downloads/mysql/
에서 mysql-5.7.10-winx64을 다운
(Windows 10 64 bit을 사용할 경우)
2.
다운 후 원하는 경로에 압축풀기.
전 d:\mysql에 풀었습니다.
폴더 안에 my-default.ini 를 열고 수정합니다.
아래처럼 수정하시고 my.ini로 같은 폴더에 "다른이름으로 저장" 해주세요.
1) basedir, datadir, port 앞에 주석(#)을 삭제한다.
2) basedir에는 mysql 압축을 푼 폴더를 작성. (폴더경로는 백슬래시(\)가 아닌 슬래시로(/)
3) datadir은 mysql압축을 푼 폴더 안에 data폴더
4) port를 3306
5) 수정 후, 다른 이름으로 저장 .. 이름을 my.ini로 같은 폴더에 저장합니다.
=>결과
3.
제어판에 환경변수에서 mysql 환경 변수를 등록해줍시다. 윈도우 키 누르시고 환경변수 검색하시면 바로 찾으실 수 있습니다.
전 설치한 경로가 d:\mysql이므로 MYSQL_HOME을 그곳으로 등록하였습니다.
이후, Path에 MYSQL_HOME\bin 폴더를 추가해줍니다.
%MYSQL_HOME%\bin 으로 적어야 합니다. MYSQL_HOME 양 옆에 %를 붙여주세요.
bin 전에는 \넣어주세요.
4.
관리자 권한으로 명령 프롬프트를 실행합니다.
윈도우 키 누르시고 명령 프롬프트 검색 후 오른쪽 클릭, 관리자 권한으로 실행 혹은
윈도우 + x 키를 누르고 명령 프롬프트(관리자)를 찾으실 수 있습니다.
실행하시고 mysqld --initialize 를 입력
끝나고 명령 프롬프트엔 아무것도 안 나옵니다.
d:\mysql\data 폴더에(my.ini에 datadir로 입력하신 폴더) 데이터가 들어가는 것을 보실 수 있습니다.
(도중 문제가 생기셨다면, data 폴더 안에 내용을 비우고 다시 mysql --initialize 합니다.)
5.
mysql을 서비스에 등록
"mysql 경로\bin\mysqld" --install
"d:\mysql\bin\mysqld" --install
(혹시나 안되시면, mysqld.exe로
"d:\mysql\bin\mysqld.exe" --install)
=>path를 등록하였기 때문에 mysqld --install해도 서비스는 등록되지만, 실행하시면 에러가 발생합니다.
서비스 경로가 c드라이브의 mysql이 설치되는 기본 폴더로 지정되있게 되고, 이를 찾지 못해서 에러가 발생합니다.
=>삭제는 --remove입니다.
등록에 성공하였으면, 서비스를 시작해봅시다.
서비스 시작은 꼭 명령 프롬프트가 관리자 권한으로 실행되어야 합니다.
net start mysql
=> 서비스 중지는 net stop mysql
6.
서비스가 잘 시작되면, 루트 계정으로 접속해봅니다.
mysql -u root -p
그럼 또 에러가 납니다.
이유는 잘 모르겠지만, root의 비밀번호가 다르다고 접속할 수 없습니다. 지정한 적 없다 이놈아.
그래서 root의 비밀번호를 바꿔주어야 합니다.
일단, mysql에 root로 비밀번호가 없더라도 접속할 수 있어야 합니다.
1)
관리자 권한 명령 프롬프트로, 서비스를 멈춥시다.
net stop mysql
2)
비밀번호를 생략하도록 서비스를 다시 시작합시다.
mysqld --skip-grant-tables
입력하면, 해당 명령 프롬프트는 서비스를 실행하느라 사용할 수 없습니다.
3)
다른 명령 프롬프트를 열고, mysql에 접속합니다.
(새로 연 명령 프롬프트)
mysql -u root -p
비밀번호 입력하는데 엔터 눌러도 접속됩니다.
4)
use mysql;
update user set authentication_string = password('새로운 비밀번호') where user = 'root';
flush privileges;
5)
비밀번호를 생략했던 서버를 종료시키고, 새로운 비밀번호로 접속해봅시다.
mysqld --skip-grant-tables 를 실행했던 명령 프롬프트를 종료합시다.
윈도우키 + x 를 눌러 작업관리자(T)를 실행시키고, 백그라운드 프로세스에 있는 mysqld.exe를 종료시킵니다.
6)
명령 프롬프트를 관리자 권한으로 실행시키고, mysql 서비스를 시작합니다.
net start mysql
7)
mysql -u root -p
를 입력하고,
새로운 비밀번호를 입력하면 접속할 수 있습니다.
다만 사용하려면 root 비밀번호를 다시 설정하라는 알림이 뜹니다.
alter user 'root'@'localhost' identified by '새로운 비밀번호';
를 다시 입력해주셔야 정상적으로 사용 가능합니다.
7. 마치며
제가 한 방법이 정석이 아닐 수 있습니다. 전 제가 헤맨 과정을 그대로 적었습니다. 더 좋은 방법이 있다면, 댓글로 달아주시면 감사하겠습니다.
설치를 완료한 후 기억에 의존하여 적은 것이라, 혹시나 잘못된 점이 있다면 댓글 부탁드립니다.