MYSQL에 원격으로 로그인할 수 없습니다

MYSQL에 원격으로 로그인할 수 없습니다

저는 mysql을 처음 접했고 원격 로그인을 사용하고 싶습니다.스택프로세스를 실행했지만 명령을 실행하면 해당 링크에 나열된 화면에 아무것도 표시되지 않습니다.

$ lsof -i -P | grep :3306
$

이것이 출력입니다.

지금까지 내가 한 일: 파일을 편집했습니다/etc/mysql/my.cnf변경하려면 다음과 같이 표시됩니다.

skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 0.0.0.0

내가 원하는 것은 기본적으로 원격 로그인을 원하지만 그렇게 할 수 없습니다. 내 터미널에서 다음 명령을 실행합니다.

$ mysql -h 127.6.110.2 -u adminTwz5PWn -p
$ enter password:
ERROR 1045 (28000): Access denied for user 'adminTwz5PWn'@'localhost' (using password: YES)

필요한 정보를 제공하기 위해 Openshift에서 이 사용자 이름과 비밀번호를 얻었습니다. 내 관심사는 명령에 호스트 IP를 제공하는 경우 @'localhost'가 어떻게 나타나는지입니다.

다음과 같이 mysql에 사용자 로그인이 있습니다

+------------------+---------------+
| user             | host          |
+------------------+---------------+
| root             | %             |
| root             | 127.0.0.1     |
| adminvKbP1kf     | 127.3.138.130 |
| adminTwz5PWn     | 127.6.110.2   |
| root             | ::1           |
| user             | hostname      |
| debian-sys-maint | localhost     |
| phpmyadmin       | localhost     |
| phpmyadmin_suraj | localhost     |
| root             | localhost     |
| suraj            | localhost     |
+------------------+---------------+

내가 틀린 곳이 있으면 정정하십시오. 그리고 이를 성공적으로 수행하려면 어떤 단계가 필요합니까?

답변1

전체 IP 범위는 127.0.0.0/8루프백용으로 예약되어 있습니다. 사람들은 일반적으로 만 사용하지만 127.0.0.1IP 127.6.110.2도 루프백이므로 "localhost 오류"가 발생합니다.

mysql 서버에서 ip a또는 를 실행하여 ifconfig공용 IP 주소를 찾은 다음 해당 주소에 연결하세요.

또한 원격 시스템에서 연결이 허용된 mysql 사용자가 필요합니다. 서버에서 실행하여 mysqlmysql 콘솔을 열고 다음 쿼리 중 하나를 실행합니다(사용자 자격 증명으로 USERNAME 및 PASSWORD 변경).

원격 사용자가 특정 IP xxxx에서만 연결하도록 허용하려면:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'x.x.x.x' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

원격 사용자가 어디에서나 연결할 수 있도록 허용하려면:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

이러한 쿼리가 적용되도록 하려면 FLUSH PRIVILEGES;그런 다음 실행하세요.

관련 정보