虚拟机linux端mysql数据库无法远程访问的解决办法
对于解决虚拟机linux端mysql数据库无法远程访问的办法一种,以下内容我给大家整理了两种解决方案,具体内容如下:
解决方法一:
1、在控制台执行mysql-uroot-pmysql,CentOS系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台
2、在mysql控制台执行GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'MyPassword'WITHGRANTOPTION;FLUSHPRIVILEGES;
3、在mysql控制台执行命令中的'root'@'%'可以这样理解:root是用户名,%是主机名或IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的IP地址;'MyPassword'是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权
4、切换到root用户打开iptables的配置文件:vi/etc/sysconfig/iptables
添加红色字体
#Firewallconfigurationwrittenbysystem-config-firewall #Manualcustomizationofthisfileisnotrecommended. *filter :INPUTACCEPT[0:0] :FORWARDACCEPT[0:0] :OUTPUTACCEPT[0:0] -AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT -AINPUT-picmp-jACCEPT -AINPUT-ilo-jACCEPT -AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT -AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT -AINPUT-jREJECT--reject-withicmp-host-prohibited -AFORWARD-jREJECT--reject-withicmp-host-prohibited COMMIT
全部修改完之后重启iptables:serviceiptablesrestart
可以验证一下是否规则都已经生效:iptables-L这样,
我们就完成了CentOS防火墙的设置修改。
在远程:mysql-h192.168.16.128-uroot2-p输入密码root2成功~
解决方法二:
具体内容请看下面代码:
mysql-uroot-p Enterpassword: mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'sy31214'WITHGRANTOPTION; mysql>FLUSHPRIVILEGES;
以上所述就是本文的全部内容,对于虚拟机linux端mysql数据库无法远程访问的解决办法还有好多种,欢迎各位大侠多多分享自己的解决方案,本文写的不好,望多多提出批评建议。