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

我该怎么做呢?


当前回答

检查远程服务器是否允许通配符访问端口3306:

sudo lsof -i -P -n | grep监听

不应该是这样的:

mysqld 23083 mysql 21u IPv4 145900142 0t0 TCP 127.0.0.1:3306(听)

在这种情况下,我们需要更新/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/mariadb.conf.d/50-server.cnf:

Bind-address = 127.0.0.1——> 0.0.0.0

然后重新启动mysql "sudo service mysql restart"

为了从客户端测试mySQL连接:

Nc -vz <host_address> 3306

其他回答

远程登录的所有流程。默认关闭远程登录。你需要手动打开所有ip..来访问所有ip

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

特定的Ip

GRANT ALL PRIVILEGES ON *.* TO 'root'@'your_desire_ip' IDENTIFIED BY 'password';

然后

flush privileges;

您可以检查您的用户主机和密码

SELECT host,user,authentication_string FROM mysql.user;

现在你的责任就是改变这一切

bind-address = 127.0.0.1

你可以找到这个

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

如果你在那里找不到这个,那就试试这个

sudo nano /etc/mysql/my.cnf

在此评论

#bind-address = 127.0.0.1

然后重新启动Mysql

sudo service mysql restart

现在享受远程登录

有时需要在Windows上使用PC名

第一步)把mysql的配置文件:

mysqld.cnf SET bind-address= 0.0.0.0

(让recbe连接tcp/ip)

第二步)让用户在mysql,表用户,与pc在windows属性的名称,而不是ip

对于需要它的人,检查防火墙端口3306是否也打开了,如果您的防火墙服务正在运行。

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

如果您的MySQL服务器进程正在监听127.0.0.1或::1,那么您将无法远程连接。如果您在/etc/my.cnf中设置了绑定地址,这可能是问题的根源。

您还必须为非本地主机用户添加特权。