새로 호스팅하고
mysql8을 설치했다.
외부에서 접속이 안되서 설정을 변경하려는데...
비밀번호 암호화 문제 때문인지.. 하루 종일 해결을 하지 못했다.
1. create user 'user'@'%'; //user = 사용할 계정
2. GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
3. select password('암호');
4. update mysql.user set password ='' where user ='user' and host = '%';
5. update mysql.user set plugin ='mysql_oid_password' where user ='user' and host = '%';
6. flush privileges;
이건 어떤 분이 올려주신.. 해결책인데 8에서는 사용할 수가 없었다.
왜냐면 password 함수가 없다.
mysql 8 의 매뉴얼
https://dev.mysql.com/doc/refman/8.0/en/
//password8.1에서는 사라진 함수..
select password('암호');
//계정 검색 // 비밀번호의 칼럼명이 변경됨. password - > authentication_string
SELECT user,host,authentication_string FROM mysql.user;
//계정삭제
DROP USER 'root'@'%';
//비밀번호 변경
SET PASSWORD FOR 'root'@'%' = '비밀번호';
https://dev.mysql.com/downloads/windows/installer/
mysql-installer-community-5.7.22.1.msi
스키마랑 테이블 생성 후에 외부에서 접속하려고 했는데
안됐다. 처음에 설정 필요하다고 함.
1. mysql 유저 확인 + 비밀번호도 확인
SELECT user,host,authentication_string FROM mysql.user;
2. 사용할 계정 생성 (나는 모든 ip에서 접속가능하게 할거라서 '%'로 설정함 )
create user 'root'@'%';
3. root계정에게 모든 권한을 줌
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
4. 1번에서 확인한 root의 비밀번호를 'root'@'%' 에서 사용할 거다.
update mysql.user set authentication_string ='암호화된 비밀번호' where user ='root' and host = '%';
update mysql.user set plugin ='암호화된 비밀번호' where user ='root' and host = '%'; <- 플러그인도 수정해야 하나.. 잘 몰라서 일단 안 함
select password('비밀번호') as pw; -> 이렇게 암호화해서 넣어도 됨.
5. 수정한 것 반영 (필수)
flush privileges;
'차근차근 > SQL' 카테고리의 다른 글
[hackerrank] Occupations (0) | 2022.08.18 |
---|---|
[hackerrank] Employee Names (0) | 2022.08.09 |
mysql 데이터 베이스 생성 (0) | 2018.02.08 |
mysql 한글 깨질 때 (0) | 2017.10.16 |
Found option without preceding group in config file (0) | 2017.06.13 |