MySql에 대한 원격 액세스에 문제가 있습니다. here에서
첫째, 원격 MySQL 데이터베이스 서버에 ssh를 통해 로그인을 통해 로그인
네트워킹 vi와 같은 텍스트 편집기를 사용하여 my.cfg라는 mysql 설정 파일을 편집해야한다. 데비안 리눅스 파일에서
은
/etc/mysql/my.cnf
# vi /etc/my.cnf
확인 라인은 생략 네트워킹이 있는지 확인 [mysqld를]과 같이 줄을 찾습니다, 파일 열기 주석 처리 (또는 줄을 지우고) 다음 줄을 추가하십시오.
bind-address=YOUR-SERVER-IP
MySQL 서버의 IP 인 경우 xample, 172.20.5.2 다음 전체 블록은 다음과 같이해야합니다
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 172.20.5.2
# skip-networking
....
..
....
경우 - 바인드 주소 : IP 주소에 바인딩. - skip-networking : TCP/IP 연결을 전혀 수신하지 마십시오. mysqld와의 모든 상호 작용은 유닉스 소켓을 통해 이루어져야한다. 이 옵션은 로컬 요청 만 허용되는 시스템에서 사용하는 것이 좋습니다. 원격 연결을 허용해야하기 때문에이 줄은 파일에서 제거하거나 주석 상태로 두어야합니다.
효과 원격 IP 주소
# /etc/init.d/mysql restart
새 데이터베이스
당신이 162.54.10.20이 다음> 프롬프트 MySQL의에서 다음 명령을 입력해야합니다 사용자 표시 줄 및 원격 IP에 대한 foo는라는 새 데이터베이스에 추가 할 경우
:
mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO [email protected]'162.54.10.20' IDENTIFIED BY 'PASSWORD';
액세스 권한 부여 데이터베이스
기존에를
사용자 webadmin에 대해 webdb라는 데이터베이스에 대해 항상 162.54.10.20이라는 원격 IP에서 연결하고 있다고 가정하고이 IP 주소에 대한 액세스 권한을 부여해야합니다. MySQL의에서> 기존 데이터베이스에 대해 다음 명령 프롬프트 :
mysql> update db set Host='162.54.10.20' where Db='webdb';
mysql> update user set Host='162.54.10.20' where user='webadmin';
exit를 입력하여 명령
mysql> exit
- 단계 # MySQL의 로그 아웃하기 7 : 테스트하기
원격 시스템 유형 명령에서
$ mysql -u webadmin –h 172.20.5.2 –p
또한 내가 ''루트 '@'다시 거부 localhost'`를 얻을 5 단계에서 테스트 목적
$ telnet 172.20.5.2 3306
에 대해 포트 3306에 연결하기 위해 텔넷을 사용할 수 있습니다./etc/hostname = localhost. 내가 놓친 게 있니? –