我在Ubuntu上创建了一个新的v18。我创建了一个入站规则以允许port 3306
我运行了updates and upgrades
我做了sudo apt install mysql-server
我检查了一下以确保它运行时:
sudo service mysql status现在我试图通过MySQL Workbench连接到它,但是当我点击test connection按钮时无法连接到它
我还少了什么?
发布于 2018-08-29 08:59:13
要将MySQL公开给本地主机以外的任何东西,您必须有以下行
For MySQL5.6及以下版本
在/etc/mysql/my.cnf中不加注释,并分配给您的计算机IP地址,而不是回送
For MySQL5.7及以上版本
在/etc/mysql/mysql.con.d/mysqld.cnf中不加注释,并分配给您的计算机IP地址而不是回送
用您的IP地址替换xxx
bind-address = xxx.xxx.xxx.xxx如果不想指定IP,则添加bind-address = 0.0.0.0。
然后使用新的MySQL条目停止并重新启动my.cnf。运行完毕后,转到终端并输入以下命令。
lsof -i -P | grep :3306在xxx的实际IP中,应该会出现这样的情况
mysqld 1046 mysql 10u IPv4 5203 0t0 TCP xxx.xxx.xxx.xxx:3306 (LISTEN)如果上述语句返回正确,那么您将能够接受远程用户。但是,要让远程用户连接到正确的priveleges,您需要在本地主机和'%‘中创建该用户。
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。
希望这能帮到你。
https://serverfault.com/questions/928432
复制相似问题