Azure에 새로 설치된 Linux 및 MySQL의 워크벤치에 연결할 수 없습니다.

Azure에 새로 설치된 Linux 및 MySQL의 워크벤치에 연결할 수 없습니다.

Ubuntu에 새로운 Server v18을 만들었습니다 Microsoft Azure. 허용하는 인바운드 규칙을 만들었습니다.port 3306

나는 달렸다updates and upgrades

내가 그랬어sudo apt install mysql-server

다음과 같이 실행되고 있는지 확인했습니다.

sudo service mysql status

이제 를 통해 연결하려고 하는데 버튼을 MySQL Workbench 클릭해도 연결할 수 없습니다.test connection

내가 또 무엇을 놓치고 있나요?

답변1

MySQL을 localhost 이외의 다른 것에 노출하려면 다음 줄이 있어야 합니다.

mysql 버전 5.6 이하의 경우

/etc/mysql/my.cnf에서 주석 처리를 제거하고 루프백이 아닌 컴퓨터 IP 주소에 할당했습니다.

mysql 버전 5.7 이상

/etc/mysql/mysql.conf.d/mysqld.cnf에서 주석 처리를 제거하고 루프백이 아닌 컴퓨터 IP 주소에 할당했습니다.

xxx를 귀하의 IP 주소로 바꾸십시오.

bind-address        = xxx.xxx.xxx.xxx

bind-address = 0.0.0.0또는 IP를 지정하지 않으려면 추가하세요 .

그런 다음 새로운 my.cnf 항목으로 MySQL을 중지했다가 다시 시작하십시오. 실행 후 터미널로 이동하여 다음 명령을 입력하십시오.

lsof -i -P | grep :3306

xxx의 실제 IP와 함께 이와 같은 내용이 반환되어야 합니다.

mysqld  1046  mysql  10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:3306 (LISTEN)

위의 명령문이 올바르게 반환되면 원격 사용자를 허용할 수 있습니다. 그러나 원격 사용자가 올바른 권한으로 연결하려면 localhost와 '%' 모두에서 해당 사용자를 생성해야 합니다.

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
then,

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

그리고 마지막으로,

FLUSH PRIVILEGES; 
EXIT;

그런 다음 mysql에 연결할 수 있습니다.

이것이 당신에게 도움이 되기를 바랍니다.

관련 정보