默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。
修改用户表的数据
登入mysql
后,更改 mysql
数据库里的 user
表里的 host
项,将localhost
改称%
mysql>update user set host = ‘%‘ where user = ‘root‘;
mysql>select host, user from user;
修改授权
例如: 你想myuser
使用mypassword
(密码)从任何主机连接到mysql
服务器的话。
mysql>GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
例如:如果你想允许用户myuser
从ip为192.168.1.6的主机连接到mysql
服务器,并使用mypassword
作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.3‘IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
检查防火墙
如果还不能连接,就可能是防火墙的锅了。
#通过systemctl status firewalld查看firewalld状态
#FirewallD is not running
systemctl unmask firewalld
systemctl start firewalld
#再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
#再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。
firewall-cmd --reload
systemctl stop firewalld.service #关闭防火墙
修改mysql
配置文件
如果检查了防火墙还是不行,那就用最后一招,修改配置文件(博主用了最后一招才解决远程访问的问题)
my.cnf
配置文件的位置,一般在/etc/my.cnf
,有些版本在/etc/mysql/my.cnf
在配置文件中,增加2行代码
[mysqld]
bind-address = 0.0.0.0
重启服务,远程访问,发现可以正常访问了
原文地址:https://www.cnblogs.com/wuotto/p/9682536.html
时间: 2024-10-10 16:41:36