mysql帐号不允许从远程登陆

默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。 
一、改表法 
在localhost登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将”localhost”改称”%”

例如: 
  

#mysql -u root -p
Enter password:
mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
  • 1
  • 2
  • 3
  • 4

二、授权法 
例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

  mysql>GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

  如果你想允许用户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
  • 1
  • 2

  使修改生效,就可以了

如果还不能连接,就可能是防火墙的锅了。.

#通过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   #关闭防火墙

猜你喜欢

转载自www.cnblogs.com/chentailin/p/9214031.html