mysql 접속시 같은 localhost인데도 접속불가시 확인할 것
1. user 권한 확인
2. my.cnf 에서 bind-address 옵션 확인
둘다 확인해봐야한다.
첫번째만 확인해봤다가 2시간날림 히ㅋㅋㅋㅋ힣ㅋㅋㅋㅋ
첫번째는 유저 접속 권한을 여러곳에서 접근 가능하게 주면 된다.
GRANT ALL ON *.* TO 'username'@'%' IDENTIFIED BY 'pw'
설명하자면
ALL : 권한설정. 권한의 종류에 대해선 다른곳에서 찾아볼거
*.* : 권한을 어느 데이터베이스의 어느 테이블에 줄것인가 기재하는 곳.
'username' : id '%' : 접근가능한 위치를 지정. %는 외부까지 전부. 192.168.0.% 식으로 적으면 내부 ip만 전부. 127.0.0.1 은 mysql이 설치된 서버만 가능. 뭐 이런식.
'pw' : password
위는 없는 계정 새로 만들어서 그 계정에 준 관리자 권한까지 주고 외부 어디서나 다 접속 가능하게 해주는 명령어고.
사실 이미 계정이 있다면 identified 부턴 안적어도 된다.
나는 내부에서만 돌릴거라 192.168.0.% 로 입력해 넣었다.
두번째론 /etc/mysql/my.cnf 파일을 열어보면(경로는 데비안 계열 기준이다.)
bind-address=127.0.0.1 이란 부분이 있는데
이를 주석처리 하거나 지우거나.
아니면 특정 ip 대역을 넣어도 된다. (그럼 특정 ip대역에서만 접근가능.)
그리고 mysql을 리스타트 하면(service mysql restart)
문제해결.