红联Linux门户
Linux帮助

虚拟机linux端mysql数据库无法远程访问的解决办法

发布时间:2016-01-01 15:35:07来源:linux网站作者:动听的椰子

对于解决虚拟机linux端mysql数据库无法远程访问的办法一种,以下内容我给大家整理了两种解决方案,具体内容如下:


解决方法一:

1、在控制台执行 mysql -u root -p mysql,CentOS系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台

2、在mysql控制台执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; FLUSH PRIVILEGES;

3、在mysql控制台执行命令中的 'root'@'%' 可以这样理解: root是用户名,%是主机名或IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的IP地址;'MyPassword' 是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权

4、切换到root用户,打开iptables的配置文件:vi /etc/sysconfig/iptables

修改增加内容:
 
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

全部修改完之后重启 iptables:service iptables restart

可以验证一下是否规则都已经生效:iptables -L 这样,

我们就完成了CentOS防火墙的设置修改。

在远程:mysql -h 192.168.16.128 -u root2 -p 输入密码 root2 成功~


解决方法二:

具体内容请看下面代码: 
mysql -uroot -p
Enter password:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'sy31214' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

以上所述就是本文的全部内容,对于虚拟机linux端mysql数据库无法远程访问的解决办法还有好多种,欢迎各位大侠多多分享自己的解决方案,本文写的不好,望多多提出批评建议。


ubuntu15.10安装mysql数据库:http://www.linuxdiyf.com/linux/16709.html

腾讯云CentOS7.0使用yum安装mysql:http://www.linuxdiyf.com/linux/16624.html

CentOS 7.1上编译安装MySQL 5.7.10:http://www.linuxdiyf.com/linux/16538.html

Ununtu 15.04安装MySql(Django连接Mysql):http://www.linuxdiyf.com/linux/13783.html

Ubuntu15.04的MySQL数据库允许Toad远程连接:http://www.linuxdiyf.com/linux/12995.html