欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-27 20:52:57
对于解决虚拟机linux端mysql数据库无法远程访问的办法一种,以下内容我给大家整理了两种解决方案,具体内容如下: 解决方法一: 1、 在控制台执行 mysql -u...

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

解决方法一:

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

2、 在mysql控制台执行 grant all privileges on *.* to identified by 'mypassword' with grant option; flush privileges;

3、 在mysql控制台执行命令中的 可以这样理解: 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数据库无法远程访问的解决办法还有好多种,欢迎各位大侠多多分享自己的解决方案,本文写的不好,望多多提出批评建议。