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

Mysql远程连接本质

时间: 林泽1002 分享

  最近在弄mysql远程连接。因为对MySQL数据不熟,再加上网上的答案很笼统,写答案是对的,但表达的意思很模糊.下面是学习啦小编跟大家分享的是Mysql远程连接本质,欢迎大家来阅读学习。

  Mysql远程连接本质

  方法/步骤

  先说本质。在mysql数据库里面。有个表,叫user。里面存放的便是登录用户的信息。如果是命名行则可以通过 use mysql; show tables;2个命名语句显示出user表*(在最末尾)。

  在user表里前2列有Host,User 2列。默认对应的是localhost,User。

  在这里Host的值便是数据库访问权限。loaclhost指的是本机的意思。也就是只有本机可以访问该数据库。

  查看cmd命名 select user,host from mysql.user;(如果已经是使用了use mysql.则直接from user);

  说到这里,大家就应该知道了。数据库访问权限由在这个Host列决定。所以,接下来我们只需要把localhost换成我们想要的ip或者开发全部ip(% 等于数据库允许所以的ip链接)

  修改方法,可视化直接修改。 CMD命名: update user set host = '%' where user = 'root'; (为了确保修改成功,可执行上面查看语句);

  修改成功后,host = %,user =root。 到这儿就还差一个重要的权限赋予了;

  执行(CMD与可视化均执行)这句话:

  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里面填你的mysql密码' WITH GRANT OPTION

  这句的意思是。予任何主机访问数据的权限 。

  至此权限开放成功。

  最后一个步骤便是 让你的修改生效:

  FLUSH PRIVILEGES ;

  然后退出即可。

  下面贴上步骤以及图解

  1、进入mysql数据库

  mysql -u root -p;

  2、找到mysql.user表

  select user,host from mysql.user;

  3、修改表 Host项

  update user set host = '%' where user = 'root';

  (可查看确定修改成功没有 select user,host from mysql.user;)

  4、给与任何主机访问数据的权限。

  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里面填你的mysql密码' WITH GRANT OPTION

  5、让你的修改生效:

  FLUSH PRIVILEGES ;


Mysql远程连接本质相关文章:

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

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

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

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

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

6.远程访问mysql数据库

2816542