我已经在我的本地机器上安装了MySQL Community Edition 5.5,我想允许远程连接,这样我就可以从外部源连接。
我该怎么做呢?
我已经在我的本地机器上安装了MySQL Community Edition 5.5,我想允许远程连接,这样我就可以从外部源连接。
我该怎么做呢?
当前回答
这在MySQL上是默认允许的。
默认情况下禁用的是远程根访问。如果你想启用它,在本地运行这个SQL命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
然后找到下面的行,并在my.cnf文件中注释它,该文件通常位于Unix/OSX系统的/etc/mysql/my.cnf中。在某些情况下,文件的位置是/etc/mysql/mysql.conf.d/mysqld.cnf)。
如果是Windows系统,你可以在MySQL安装目录中找到它,通常是C:\Program Files\MySQL\MySQL Server 5.5\,文件名是my.ini。
改变行
bind-address = 127.0.0.1
to
#bind-address = 127.0.0.1
并重新启动MySQL服务器(Unix/OSX和Windows)以使更改生效。
其他回答
根据我的经验,你可以在这个路径下找到配置文件/etc/mysql/mysql.conf.d/mysqld.cnf。
(我挣扎了一段时间才找到这条路)
对于需要它的人,检查防火墙端口3306是否也打开了,如果您的防火墙服务正在运行。
MySQL 8不再允许您使用GRANT命令创建用户。您需要首先创建用户。
CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
关闭链接/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
这篇如何在局域网上安装MySQL服务器的博客将有助于从头开始安装MySQL