问题背景
1 环境
- 物理主机操作系统Centos6.5
- 虚拟主机KVM:centos6.5 64位min版本(虚拟机安装有台)
- 网络:桥接模式
2 问题
yum安装mariadb10/mysql6.5后,本地只有root用户能访问,新增的其他用户本地,远程都不能访问。
安装mariadb参考:Centos 使用YUM安装MariaDB
解决方案
解决新增用户本地无法连接的问题
1.输入下面的语句,发现mysqld只是监听了ipv6的3306端口,没有监听ipv4的3306端口,
所以新加数据用户连接数据总是失败!
2.解决办法是在配置文件中增加一条语句:bind-address=0.0.0.0
- mariadb 编辑配置文件 /etc/my.cnf.d/server.cnf 。增加在[mysqld]下面
- mysql 编辑配置文件 /etc/my.cnf
3.重启MySQL:
!-- mariadb重启命令: #service mysql restart !-- mysql重启命令 #service mysqld restart
4.重新查看监听端口
#netstat -ntlp Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1349/mysqld
2.解决远程连接失败问题
1.参考CentOs中iptables配置允许mysql远程访问给出的办法还是没用
#iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #service iptables save #service iptables restart
2.修改方案是指定目标地址
#iptables -A INPUT -d 192.168.0.0/24 -i eth0 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #service iptables save #service iptables restart
3.重启iptables后就可以了。远程数据库连接命令:
#mysql -h 192.168.0.21 -u test -p