无法连接到 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 以外的任何主机,你必须有以下行

适用于mysql5.6及以下版本

在 /etc/mysql/my.cnf 中取消注释,并分配给你的计算机 IP 地址,而不是环回

适用于mysql5.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了。

希望对你有帮助。

相关内容