首页 > 电脑专区 > 电脑教程 >

远程访问mysql的错误解决方法

来源:互联网 2023-02-21 21:16:30 174

远程访问mysql经常会出现下面的一些错误,我用自己经过了一些小波折后找到了一些解决方法,不过我的mysql是转载linux系统上的,不过windows平台也是类似的原理Afs办公区 - 实用经验教程分享!

工具/原料

  • xshell
  • mysql

方法/步骤

  • 1

    如果出现下面这种情况,一般是防火墙屏蔽了mysql的3306端口,我们需要开启3306端口Afs办公区 - 实用经验教程分享!

    远程访问mysql的错误解决方法Afs办公区 - 实用经验教程分享!

  • 2

    执行下面的命令Afs办公区 - 实用经验教程分享!

    [root@doctortang bin]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPTAfs办公区 - 实用经验教程分享!

    [root@doctortang bin]# /etc/rc.d/init.d/iptables saveAfs办公区 - 实用经验教程分享!

    Afs办公区 - 实用经验教程分享!

    [root@doctortang bin]# /etc/init.d/iptables restartAfs办公区 - 实用经验教程分享!

    远程访问mysql的错误解决方法Afs办公区 - 实用经验教程分享!

  • 3

    如果执行查看防火墙状态的命令:Afs办公区 - 实用经验教程分享!

    [root@doctortang bin]# /etc/init.d/iptables statusAfs办公区 - 实用经验教程分享!

    会出现下面情况则说明开启3306端口成功了(就是下面图中的3306)Afs办公区 - 实用经验教程分享!

    远程访问mysql的错误解决方法Afs办公区 - 实用经验教程分享!

  • 4

    此时再访问有可能会遇到下面这种图的报错,这是因为我们还没给mysql设置一个可以让我们从我们当前ip远程访问的用户及密码(我自己的本地ip为192.168.1.140)Afs办公区 - 实用经验教程分享!

    远程访问mysql的错误解决方法Afs办公区 - 实用经验教程分享!

  • 5

    现在假设你想让用户名为root的用户从ip为192.168.1.140的主机连接到mysql服务器,并使用123456作为密码,可以执行下面的命令(为了使修改立即生效,可多次执行FLUSH PRIVILEGES命令,我这里执行了两次)Afs办公区 - 实用经验教程分享!

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.140' IDENTIFIED BYAfs办公区 - 实用经验教程分享!

    -> '123456' WITH GRANT OPTION;Afs办公区 - 实用经验教程分享!

    Afs办公区 - 实用经验教程分享!

    mysql> FLUSH PRIVILEGES;Afs办公区 - 实用经验教程分享!

    Afs办公区 - 实用经验教程分享!

    mysql> FLUSH PRIVILEGES;Afs办公区 - 实用经验教程分享!

    远程访问mysql的错误解决方法Afs办公区 - 实用经验教程分享!

  • 6

    此时再以用户名root,密码123456去访问mysql就可以了Afs办公区 - 实用经验教程分享!

  • 7

    这里说多两种我试过的适合其他情况的设置,第一种就是如果想任何主机都能以用户名为root,密码为123456都能访问mysql,可以执行下面命令Afs办公区 - 实用经验教程分享!

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;Afs办公区 - 实用经验教程分享!

    远程访问mysql的错误解决方法Afs办公区 - 实用经验教程分享!

  • 8

    然后让修改生效Afs办公区 - 实用经验教程分享!

    mysql> FLUSH PRIVILEGES;Afs办公区 - 实用经验教程分享!

    这样就可以在其它任何的主机上以用户名root和密码123456远程访问mysql了Afs办公区 - 实用经验教程分享!

  • 9

    另一种是如果只想用户root从ip为192.168.1.6的主机只能访问其中某一个数据库名为db,并使用123456作为密码,可以执行命令Afs办公区 - 实用经验教程分享!

    mysql>GRANT ALL PRIVILEGES ON db.* TO 'root'@'192.168.1.3' IDENTIFIED BY'123456' WITH GRANT OPTION;Afs办公区 - 实用经验教程分享!

    mysql>FLUSH PRIVILEGES;Afs办公区 - 实用经验教程分享!

  • 9此文章未经授权抓取自百度经验
  • 注意事项

    • 注意授权后必须FLUSH PRIVILEGES;否则无法立即生效

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Afs办公区 - 实用经验教程分享!


    标签: 远程MYSQL访问错误解决

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码