MySQL开启远程访问

MySQL开启远程访问

首先开启防火墙端口

每个机器开启的命令不同:
Firewall:
开启端口: firewall-cmd --permanent --add-port=3306/tcp
重新加载: firewall-cmd --reload


iptable:
开启端口: /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT
保存配置: /etc/rc.d/init.d/iptables save
重启服务: /etc/rc.d/init.d/iptables restart

修改用户表法

一般帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%",

% 代表任意主机都可以登录,也可已经%改成固定的ip地址来限制只有这个ip的人才能够登录

  1. 在安装的机器上登录MySQL
[root@node opt]# mysql -uroot -p
Enter password:
use mysql;
update user set host = '%' where user = 'root';

授权法(推荐)

你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH   PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH  PRIVILEGES;
GRANT   ALL   PRIVILEGES ON  *.* TO 'root'@'%' WITH GRANT OPTION
FLUSH   PRIVILEGES //修改生效
原文地址:https://www.cnblogs.com/cuianbing/p/13209557.html