下面我们来看看Linux开启mysql远程连接方法与问题解决办法,希望下文可以帮助到各位朋友.
Linux开启mysql远程连接方法
1、GRANT命令创建远程连接mysql授权用户root
- mysql-uroot-p
- mysql>GRANTALLPRIVILEGESON*.*TOroot@localhostIDENTIFIEDBY'123456'WITHGRANTOPTION;
增加root用户授权通过本地机(localhost)访问,密码 "123456":
- mysql>GRANTALLPRIVILEGESON*.*TOroot@"%"IDENTIFIEDBY'123456'WITHGRANTOPTION;
授与root用户从任何其它主机发起的访问(通配符%).
2、设置防火墙允许3306端口
vi /etc/sysconfig/iptables
添加:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
注意添加在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之前,否则可能导致规则不生效.
重启防火墙:service iptables restart
解决Mysql无法远程连接的问题:
1、Mysql的端口是否正确
通过netstat -ntlp查看端口占用情况,一般情况下端口是3306,在用工具连接MySQl是要用到端口,例如My AdminMy Query BrowserMySQl Front等.
2、检查用户权限是否正确
mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP).
3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉,报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111).
- sudogedit/etc/mysql/my.cnf
- #skip-external-locking
- #bind-address=127.0.0.1
- skip-name-resolve
4、查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭.
报错:ERROR 2003(HY000):Can't connect to MySQL server on '192.168.51.112' (113).