MySQL 너란 녀석 부들부들. 처음 MySQL을 설치할 때 미쳐버리는 줄 알았다. 반나절을 소비하고서 겨우 깔았었다. 첫 시작은 호기롭게 ZIP Archive 설치로 시작했지만, 그 끝은 MySQL Installer였다. (*`н´*) 이유는 묻지 마라. 그때엔 그 누구도 이유를 모른다. (진짜 컴퓨터마다 제각기 다른 방법으로 깔았다.) 근데 지금에서야 ZIP Archive 설치를 완벽하게 성공했다. ( ´ ▽ ` )V
MySQL Installer를 사용하면 받아야 하는 파일들을 한번에 받을 수 있다. 이 편한 걸 두고 ZIP Archive로 설치하려는 이유가 있다. MySQL을 설치하고 설정을 하는 과정에서 알 수 없는 오류(....)들이 발생한다. 아니 발생 했다. 아닌 사람도 있을 것이다.(부럽) 그럴 때마다 MySQL을 싹 지우고 설치부터 다시 해야 한다. MySQL Installer로 설치하여 진행한 경우, 제어판에 들어가서 완전 제거를 해줘야 한다. 하지만 ZIP Archive는 그냥 압축 해제한 폴더를 삭제하면 된다. 한마디로 말하자면 Installer 보단 가볍게 쓸 수 있다. (강사님이 말해준 걸 드문 드문 기억하는 거라서 아니면 난 모름.. 허허)
아, 참고로 MySQL은 개인 개발 목적이라고 한다.
1) MySQL 사이트 접속
( https://www.mysql.com )
2) Downloads > Community > MySQL Community Server
3) Windows (x86, 64-bit), ZIP Archive 다운로드
각자 컴퓨터의 환경에 맞게 설치하면 된다.
* Login / Sign Up 하지 말고, 밑에 No thanks, just start my download. 를 누르면 된다.
2) mysql-5.7.21-winx64.zip 압축 해제
설치하고자 하는 위치에 ZIP파일 압축을 해제하면 된다.
어디에 압축 해제 했는지 꼭 알아야 한다. 참고로 나는 D드라이브에 압축을 해제했다.
3) 환경 변수 등록
MySQL을 설치하려는 사람이면 JAVA 환경 변수 설정을 해보았을 것이다. 안했음 말고.
내 컴퓨터(오른쪽 클릭) - 속성 - 고급 시스템 설정 - 환경 변수
3-1. 새 사용자 변수 만들기 (시스템 변수 - 새로 만들기)
- 변수 이름 : MySQL_HOME
- 변수 값 : D:\mysql-5.7.21-winx64
변수 값은 MySQL ZIP파일을 압축 해제한 경로.
직접 적는 것보단 경로를 긁어 오는 것이 더 정확하고 좋음.
3-2. Path 변수 편집 (시스템 변수 Path - 편집)
변수 값의 맨 앞이나 맨 뒤에 ;%MySQL_HOME%\bin; 추가
※ 안됨. my.ini가 필요하면 http://to-dy.tistory.com/29?category=700250 참고
4) my.ini 파일 만들기
4-1. MySQL 폴더에 my-defult.ini 가 있는 경우
4-2. MySQL 폴더에 my-defult.ini 가 없는 경우
4-1. my-defult.ini 파일 수정(메모장으로 열기)
> basedir : MySQL이 설치된 경로> datadir : DB 데이터가 저장 될 경로> port : 일반적으로 3306을 이용.
** 아직 data 폴더가 없음.
** 앞에 #이 붙어 있다면 # 지우기.
*** 주의!! 경로는 역슬레쉬(\)가 아니라 슬레쉬(/)로 입력하는 것이 더 좋다. (일부 프로그램은 \를 처리하기에 오류 발생)
4-2. C드라이브 - ProgramData - MySQL - MySQL Server 5.7 에서 my.ini 가져와서 수정
> basedir : MySQL이 설치된 경로
> datadir : DB 데이터가 저장 될 경로
> port : 일반적으로 3306 사용.
**** ProgramData 가 안보일 경우 : 구성 - 폴더 및 검색 옵션 - 보기 - 숨김 파일 폴더 및 드라이브 표시 체크 - 확인
** 아직 data 폴더가 없음.
** 앞에 #이 붙어 있다면 # 지우기
*** 주의!! 경로는 역슬레쉬(\)가 아니라 슬레쉬(/)로 입력하는 것이 더 좋다. (일부 프로그램은 \를 처리하기에 오류 발생)
4-3. MySQL 폴더에 다른 이름으로 저장 my.ini
* 아직 data 폴더는 존재 하지 않음
*** cmd는 무조건 관리자 권한으로 실행
*** 오타, 띄어쓰기 주의!
5) 설정 파일(my.ini) 초기화
mysqld --initialize-insecure
MySQL 폴더에 data 폴더가 생기면 성공
** root 비밀번호 없이 생성
5-1. 시스템 오류 2 이(가) 생겼습니다.
- 설명 -
1) 윈도우에서는 띄어쓰기가 포함된 경우 ""로 묶어서 표기합니다.
2) 시스템 오류2는 파일 경로 오류입니다. (no such file or directory)
3) 서비스를 실행할 mysqld.exe 파일의 경로가 잘못되었기 때문에 생기는 오류입니다.
- 해결 -
1) 파일 경로를 제대로 잡으면 해결됩니다.
2) 레지스트 편집기를 실행합니다. (regedit.exe)
3) (HKEY_LOCAL_MACHINE --> SYSTEM --> CurrentControlSet --> Services --> MySQL) 에 ImagePath 값을 변경해 줍니다.
4) Mysql이 설치된 폴더의 mysqld.exe를 가르키는 경로를 값으로 합니다.
ex) C:\Program Files\MySQL\mysql-5.7.16-winx64\bin\mysqld MySQL
5-2. 비밀번호가 랜덤 생성된 경우
MySQL을 로그인할때(9번) 엔터를 쳤는데도 들어가지않는다면(비밀번호가 틀렸다고 하면) 비밀번호가 랜덤으로 생성된 경우임.
다시 MySQL폴더를 삭제하고 처음부터 하는데, mysqld --initialize-insecure 로 insecure를 띄어쓰기 하지 않아야 함.
6) MySQL 서비스 등록
mysqld --install
** mysqld --remove 서비스 삭제
7) 컴퓨터 재부팅
8) 서비스 시작
net start mysql
8-2. 서비스를 시작할 수 없습니다.
C:\Windows\system32>net start mysql
MySQL 서비스를 시작합니다..
MySQL 서비스를 시작할 수 없습니다.
서비스가 오류를 보고하지 않았습니다.
NET HELPMSG 3534을(를) 입력하면 도움말을 더 볼 수 있습니다.
data 폴더를 삭제후 mysqld --initialize 하고 다시 net start mysql 하면 됨
9) MySQL 로그인
mysql -uroot -p
*** Enter password 가 나오면 그냥 엔터를 치면 들어가진다. 아직 비밀번호를 설정 하지 않았기 때문.
* mysql을 로그인하여 사용할 때 쓰임
***** 엔터로 로그인이 안되면 5-2 참고
이렇게 뜬다면 MySQL 로그인 성공~!
10) mysql.user 확인
use mysql;
show tables;
위와 같이 31개의 테이블이 있으면 완전하게 깔린 것이다. 특히 user 테이블이 꼭 있어야 한다. 비밀번호 설정을 위해서 이다. 가끔 innodb 두개만 있는 경우가 있는데, 이럴땐 지우고 다시 깔아야 한다^^; 왜냐하면 비밀번호 설정을 할 수 없기 때문이다 하하하하. 이거때문에 세번은 지웠다 깔았다 ^^; MySQL은 한번에 깔릴 순 없는 걸까^^
11) root 비밀번호 설정
2018.09.12 MySQL 5.7버전 이후부터는 다르게 비밀번호를 변경해야 합니다.
http://to-dy.tistory.com/58?category=700250 참고해주세요!
update user set authentication_string=password('비밀번호') where user='root';
*** 비밀번호는 잊어 먹으면 안됨! mysql 이나 root로 비밀번호 설정.
** 대부분 아이디는 root 임.
11-1. ERROR 1064 (42000): You have an error in your SQL syntax;
use mysql; 을 했는지 확인해보자.
11-2. 'mysql.user'를 찾을 수 없는 경우
다시 지웠다 깔아야 한다. 10번을 해보자.
12) 변경 사항 적용
flush privileges;
**** ; 빼 먹지 말 것
이렇게 뜨면 root 비밀번호 변경 완료
'공부 > DB' 카테고리의 다른 글
MySQL 8.0 비밀번호 변경하기! (MySQL 5.7버전 이상) (43) | 2018.09.12 |
---|---|
MySQL my.ini 없을 경우 UTF8 (한글깨짐) 설정 (27) | 2018.05.03 |