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 数据库导入导出命令

mysql怎么批量录入数据

mysql可以按照数字大小排序吗?

如何更改mysql数据库的编码字符集

centos下实现mysql远程登录

怎么修改mysql的表名和列名?

mysql系列之二 多实例配置

如何搭建 mysql 高可用高性能集群

学习mysql不是内部命令的错误解决方案

mysql的四种事务隔离级别

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...