大佬教程收集整理的这篇文章主要介绍了linux下mysql开启远程访问权限 防火墙开放3306端口,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
开启MysqL的远程访问权限
默认MysqL的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启MysqL的远程访问权限。
主流的有两种方法,改表法和授权法。
相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法
1、登陆MysqL
@H_836_0@mysqL -u root -p2、修改MysqL库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问MysqL。
MysqL> use MysqL; MysqL> update user set host = '%' where user = 'root'; MysqL> SELEct host,user from user; MysqL> flush privileges;
防火墙开放3306端口
1、打开防火墙配置文件
vi /etc/sysconfig/iptables
2、增加下面一行
-A input -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3、重启防火墙
service iptables restart
注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
附:个人配置
# 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 -i eth0 -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 80 -j ACCEPT -A input -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A FORWARD -m state --state ESTABliSHED,RELATED -j ACCEPT -A FORWARD -p icmp -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -i eth0 -j ACCEPT -A input -j REjeCT --reject-with icmp-host-prohibited -A FORWARD -j REjeCT --reject-with icmp-host-prohibited COMMIT
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
以上是大佬教程为你收集整理的linux下mysql开启远程访问权限 防火墙开放3306端口全部内容,希望文章能够帮你解决linux下mysql开启远程访问权限 防火墙开放3306端口所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。