我已经在我的本地机器上安装了MySQL Community Edition 5.5,我想允许远程连接,这样我就可以从外部源连接。

我该怎么做呢?


当前回答

对于OS X用户,请注意bind-address参数通常是在launchd plist中设置的,而不是在my.ini文件中。所以在我的情况下,我删除了<string>——bind-address=127.0.0.1</string>从/Library/LaunchDaemons/homebrew.mx .mariadb.plist。

其他回答

在完成以上所有操作后,我仍然无法以根用户远程登录,但是telnet到3306端口确认MySQL正在接受连接。

我开始查看MySQL中的用户,并注意到有多个具有不同密码的根用户。

select user, host, password from mysql.user;

所以在MySQL中,我再次为root设置了所有密码,我最终可以以root身份远程登录。

use mysql;
update user set password=PASSWORD('NEWPASSWORD') where User='root';
flush privileges;

对于OS X用户,请注意bind-address参数通常是在launchd plist中设置的,而不是在my.ini文件中。所以在我的情况下,我删除了<string>——bind-address=127.0.0.1</string>从/Library/LaunchDaemons/homebrew.mx .mariadb.plist。

关闭链接/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/my.cnf的注释:

bind-address = 127.0.0.1  =>>  #bind-address = 127.0.0.1

修改主机名以便所有机器都可以访问它,在本地运行这个SQL命令:

UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='root';
FLUSH PRIVILEGES;

重新启动服务:

sudo service mysql restart

打开mysql端口:

sudo ufw allow 3306

根据我的经验,你可以在这个路径下找到配置文件/etc/mysql/mysql.conf.d/mysqld.cnf。

(我挣扎了一段时间才找到这条路)

这篇如何在局域网上安装MySQL服务器的博客将有助于从头开始安装MySQL