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的人才能够登录
- 在安装的机器上登录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 //修改生效