学习啦>学习电脑>电脑安全>局域网安全>

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

林泽分享

  远程访问mysql经常会出现下面的一些错误,我用自己经过了一些小波折后找到了一些解决方法,不过我的mysql是转载linux系统上的,不过windows平台也是类似的原理。下面是学习啦小编跟大家分享的是远程访问mysql的错误解决方法,欢迎大家来阅读学习。

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

  工具/原料

  xshell

  mysql

  方法/步骤

  如果出现下面这种情况,一般是防火墙屏蔽了mysql的3306端口,我们需要开启3306端口

  执行下面的命令

  [root@doctortang bin]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

  [root@doctortang bin]# /etc/rc.d/init.d/iptables save

  [root@doctortang bin]# /etc/init.d/iptables restart

  如果执行查看防火墙状态的命令:

  [root@doctortang bin]# /etc/init.d/iptables status

  会出现下面情况则说明开启3306端口成功了(就是下面图中的3306)

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

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

  mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.140' IDENTIFIED BY

  -> '123456' WITH GRANT OPTION;

  mysql> FLUSH PRIVILEGES;

  mysql> FLUSH PRIVILEGES;

  6此时再以用户名root,密码123456去访问mysql就可以了

  7这里说多两种我试过的适合其他情况的设置,第一种就是如果想任何主机都能以用户名为root,密码为123456都能访问mysql,可以执行下面命令

  mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

  8然后让修改生效

  mysql> FLUSH PRIVILEGES;

  这样就可以在其它任何的主机上以用户名root和密码123456远程访问mysql了

  9另一种是如果只想用户root从ip为192.168.1.6的主机只能访问其中某一个数据库名为db,并使用123456作为密码,可以执行命令

  mysql>GRANT ALL PRIVILEGES ON db.* TO 'root'@'192.168.1.3' IDENTIFIED BY '123456' WITH GRANT OPTION;

  mysql>FLUSH PRIVILEGES;

远程访问mysql的错误解决方法相关文章:

1.怎么解决mysql不允许远程连接的错误

2.mysql怎么设置远程连接数据库

3.怎样远程访问mysql数据库

4.设置Mysql允许其他电脑远程访问

5.mysql数据库允许远程连接

6.mysql局域网如何开启远程连接

7.MySql数据库安装后开启远程连接

    2817014