VPC 네트워크 -> 방화벽 ->방화벽 규칙 만들기
수신, 허용 IP: 0.0.0.0/0, tcp포트 3306으로 만들기
mysql -uroot -p
로 mysql서버 접속하기mysql> use mysql;
mysql> select host, user, password from user;
(혹시 안되면 password빼기)
host에 %이면 모든 아이피에서 접속 허용된것이고 localhost이면 원격접속이 막힌것
(특정 아이피가 써있으면 그 아이피에서만 접속되는 것으로 설정돼있는것)
create user '계정이름'@localhost identified by '비번';
(에러 없으면 만들어진 것)
혹시 계정을 지우고 싶을 때
delete from user where user='유저이름';
myslq> grant all privileges on *.* to '계정이름'@'192.168.0.1' identified by '계정비번'
myslq> grant all privileges on *.* to '계정이름'@'192.168.0.%' identified by '계정비번'
myslq> grant all privileges on *.* to '계정이름'@'%' identified by '계정비번'
여기서
*.*
은 스키마명.테이블명이다.*.*
은 모든 스키마(DB)의 테이블을 뜻한다. 특정 스키마와 테이블을 하고 싶으면userDB.*
이런식으로 입력하면 된다.
flush privileges;
로 권한을 적용해야 한다고 하는데 나는 안했는데도 됐음
revoke all on 'db명'.'테이블명' from '계정명'@'호스트';
2번으로 다시 돌아가서 host가 %로 바뀌었는지 확인
혹은 show grants for '계정명'@'호스트'로도 확인할 수 있음
sudo su
cd /etc/mysql/mysql.conf.d
vim mysqld.cnf
에서 bind-adress = 127.0.0.1을
0.0.0.0으로 만들면 됨
service mysql restart
`mysql -h'gcp 외부IP주소' -u'계정명' -p
접속되면 성공!