专注于WEB前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]

CentOS下开启mysql远程连接,远程管理数据库

当服务器没有运行php、没装phpmyadmin的时候,远程管理mysql就显得有必要了。因为在CentOS下设置的,所以标题加上了CentOS,以下的命令在debian等系统下应该也OK。

mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称

在mysql控制台执行:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
# root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
flush privileges; # 重载系统权限
exit;

允许3306端口

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
# 查看规则是否生效
iptables -L -n # 或者: service iptables status

# 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

远程管理数据库的软件,win系统下可以使用SQLyog,用了几种远程软件,感觉这个用起来蛮不错的。

/ 分类: 开发 / TrackBackhttps://xhl.me/archives/enable-remote-access-mysql-centos/trackback标签: CentOS, mysql

已有 11 条评论 »

  1. 很好啊good 很好啊good

    很好,用你的方法解决了问题,再次感谢

  2. chi chi

    谢谢! 配置了MYSQL后 原来还必须开放3306端口

  3. Tony Tony

    iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT,这个为什么不能关闭3306端口,我运行这个shell,还可以远程连接数据库,新手求指教

    1. kairyou kairyou

      @Tony
      Hi, 你可以查看下你目前的规则, 或者检查下/etc/sysconfig/iptables.

  4. gdll gdll

    谢谢分享,问题解决了

  5. dongfangx dongfangx

    太感谢,用你的方法,一次性就搞定了。

  6. ICE XUE ICE XUE

    感谢,好久都没搞明白,原来是防火墙的原因

  7. 非常感谢 非常感谢

    非常感谢,问题解决了

添加新评论 »