phpMyAdmin은 원격 컴퓨터의 호스트, 사용자 및 암호를 설정하여 원격 데이터베이스에 연결할 수 있습니다. 호스트에서 MySQL 포트가 열려있는 한 여기에서 실행중인 MySQL은 네트워크 연결을 허용하도록 구성되어 있으며 사용자에게는 원격으로 연결할 수있는 권한이 있습니다.
phpMyAdmin을 실행하는 머신이나 (MySQL 서버가 아닌) 다른 머신에서 커맨드 라인 클라이언트를 실행하여 연결이 가능한지 테스트하십시오 :
$ mysql -h<ip> -u<user> -p<password> <database>
ip가 MySQL 서버 IP 인 경우 database는 데이터베이스의 이름이고 user 및 password는 MySQL에서 사용자의 자격 증명입니다. 성공하면 mysql 클라이언트 프롬프트가 표시됩니다. 또는 오류에 대한 적절한 설명.
최신 정보
MySQL 서버는 일반적으로 로컬 소켓 만 수신하도록 구성됩니다. 기본적으로 ti 3306 TCP 포트를 바인딩하지 않습니다. 올바르게 구성하려면 서버의 구성 파일 (보통 /etc/my.cnf)을 편집해야합니다.
[mysqld]
bind-address = 10.0.0.5
이 예에서 IP를 서버의 IP 주소로 바꿔야합니다. "skip-networking"옵션이 활성화되어 있지 않은지 확인해야합니다. MySQL이 구성된 IP를 바인딩하지 못하기 때문입니다.
재부팅 후 MySQL이 서버 쉘에서이 명령으로 수신 대기 중인지 확인할 수 있습니다.
# netstat -nap | grep mysqld
tcp 0 0 10.0.0.5:3306 0.0.0.0:* LISTEN 3547/mysqld
unix 2 [ ACC ] STREAM LISTENING 13554 3547/mysqld /var/lib/mysql/mysql.sock
여기에 첫 번째 출력과 같은 줄이 표시되어야합니다. 3306 번호는 기본 MySQL 포트이며 서버를 보호하는 방화벽이있는 경우 들어오는 TCP 연결을 위해 포트를 열어야합니다.
그런 다음 MySQL에 연결할 수 있어야합니다. 그러나 권한이 올바르게 설정되지 않으면 로그인에 문제가있을 수 있습니다. MySQL 사용자는 user @ host 형식의 사용자 이름과 호스트를 가지므로, my_user @ localhost 사용자를 작성하고 localhost 와 다른 항목으로 로그인하려고하면 액세스가 거부됩니다. 클라이언트가 IP 주소가 10.0.0.33 인 시스템에서 실행 중이고 데이터베이스에 액세스 할 수있는 권한을 부여하려고한다고 가정하십시오. 사용자는 my_user@10.0.0.33 이거나 my_user @ % 는 모든 컴퓨터에서 연결하는 무제한 사용자 인 두 번째 사용자 여야합니다 . 미리 클라이언트의 IP를 알고 있다면 피하는 것이 좋습니다.