MySQL开放远程连接权限的两种方法

 更新时间:2022年06月30日 09:11:06   作者:rrrrroy_Ha  
在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库,下面这篇文章主要给大家介绍了关于MySQL开放远程连接权限的两种方法,需要的朋友可以参考下

背景:

要求做一个评价系统,由于之前被人做过一小部分,有现成的数据库(数据库:MySQL 5.7 ,数据库软件:MySQL workbench 6.3 CE),为了省去安装数据库导出导入表的麻烦,想要直接远程连接对方数据库。

方法如下:

首先,检查要连接数据库的服务器的防火墙等是否关闭,检查与服务器连接是否通畅(方法:在cmd控制台中 输入 ping ip地址)

其次通过网上查找有两种方法:

1,改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 

  mysql -u root -pvmwaremysql>use mysql; 
  mysql>update user set host = '%' where user = 'root'; 
  mysql>select host, user from user;

2,授权法。 

在安装mysql的机器上运行: 

 1、d:\mysql\bin\>mysql -h localhost -u root 

  //这样应该可以进入MySQL服务器 

 2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION 

  //赋予任何主机访问数据的权限 

 3、mysql>FLUSH PRIVILEGES 

  //修改生效 

 4、mysql>EXIT 

  //退出MySQL服务器 

  这样就可以在其它任何的主机上以root身份登录啦。

自己测试两种方法都不行,感觉很奇怪,于是自己测试:

找到MySQL的文件位置,在cmd中输入 cd mysql.exe的文件位置(一般在MySQL安装目录下bin文件下)

输入mysql -u root -p 输入登录密码登录MySQL

 在MySQL里直接输入GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION ,会出现如下图

这里是由于没有以英文分号结尾导致的。

输入带分号的语句试试:

提示未找到行。

我决定先还是采用第一种方法,按照第一种方法的代码,输入:

        mysql -u root -p                  //这是登录
        mysql>use mysql;                 //
  mysql>update user set host = '%' where user = 'root';  //
  mysql>select host, user from user;                                  //

执行结果如下图

连接远程MySQL,还是没连接上,于是再试试第二种方式

输入:

        d:\mysql\bin\>mysql -h localhost -u root
        mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
        mysql>FLUSH PRIVILEGES;
        mysql>EXIT;

注意这里一定要以英文分号结尾!!!

执行结果如下图

这时没有上面的ERROR 1133错误了,经过测试,已经能连接到远程服务器了。

总的执行步骤如下:

参考文章:

http://www.cnblogs.com/ycsfwhh/archive/2012/08/07/2626597.html

http://zhidao.baidu.com/link?url=knBlHE7vm912Lr_1c1OKlL_OYoyuuYQrRo4zLHbBYytBsjAP1VRCJFtZAOkBMMzDm_2kk69UlrE4RDdMwUO6X6SfFjRYKoUTMYnVPZrIvvm

总结

到此这篇关于MySQL开放远程连接权限的两种方法的文章就介绍到这了,更多相关MySQL开放远程连接权限内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL 5.7 mysql command line client 使用命令详解

    MySQL 5.7 mysql command line client 使用命令详解

    这篇文章主要介绍了MySQL 5.7 mysql command line client 使用命令,需要的朋友可以参考下
    2017-06-06
  • SQL查询表字段信息详细图文教程

    SQL查询表字段信息详细图文教程

    最近工作用到SQL语句查询表中所有字段的名称,下面这篇文章主要给大家介绍了关于SQL查询表字段信息的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • RC级别下MySQL死锁问题的解决

    RC级别下MySQL死锁问题的解决

    本文主要介绍了RC级别下MySQL死锁问题的解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Centos7下安装MySQL8.0.23的步骤(小白入门级别)

    Centos7下安装MySQL8.0.23的步骤(小白入门级别)

    这篇文章主要介绍了Centos7下安装MySQL8.0.23的步骤(小白入门级别),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • MySQL删除表数据、清空表命令详解(truncate、drop、delete区别)

    MySQL删除表数据、清空表命令详解(truncate、drop、delete区别)

    介绍了MySQL中清空或删除表数据的三种方法:truncate、delete和drop,以及它们的特点、使用场景和注意事项,Truncate用于快速删除表中所有数据并释放空间,但不保留表结构;delete用于删除表中特定行或所有数据,保留表结构且操作可回滚
    2024-10-10
  • MySQL定时全库备份数据库

    MySQL定时全库备份数据库

    数据备份真的很重要, 因为可能有一天数据会被莫名其妙的删掉了,本文主要介绍了MySQL定时备份数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • MySQL对小数进行四舍五入的操作实现

    MySQL对小数进行四舍五入的操作实现

    数学函数是MySQL中常用的一类函数,其主要用于处理数字,包括整型和浮点数等等,本文主要介绍了MySQL对小数进行四舍五入的操作实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • MySql视图触发器存储过程详解

    MySql视图触发器存储过程详解

    这篇文章主要介绍了MySql视图触发器存储过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 从其他电脑访问本机的Mysql的设置方法

    从其他电脑访问本机的Mysql的设置方法

    如果需要让特定的用户从给定域(例如mydomain.com)的所有计算机上访问 MySQL 服务器,你可以执行在账户名的 host 部分使用了通配符“%” 的 GRANT 语句
    2008-11-11
  • MySQL数据库之表的约束图文详解

    MySQL数据库之表的约束图文详解

    在数据库设计中,表约束是保证数据完整性、一致性的重要手段,数据类型本身就是一种基本约束,限制了数据的范围和格式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09

最新评论