当前位置:   article > 正文

Mysql设置远程访问_mysql8.0设置远程访问

mysql8.0设置远程访问

1.mysql8.0之前版本设置远程访问

  1. # 授权所有主机都可以通过root用户,密码123456,进行访问数据库
  2. # 123456:给新增权限用户设置的密码
  3. # %:代表所有主机,也可以具体到主机ip地址
  4. # 适用于 MySQL 8.0之前的版本,可以直接授权
  5. grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
  6. #刷新权限
  7. flush privileges;

2.mysql8.0包括之后版本设置远程访问

  1. # 授权所有主机都可以通过root用户,密码123456,进行访问数据库
  2. # 123456:给新增权限用户设置的密码
  3. # %:代表所有主机,也可以具体到主机ip地址
  4. # MySQL 8.0之后的版本,需要先创建一个用户,再进行授权
  5. create user root@'%' identified by '123456';
  6. grant all privileges on *.* to root@'%' with grant option;
  7. #刷新权限
  8. flush privileges;

注:操作完后需刷新权限,不然以上命令不生效

  1. #刷新权限
  2. flush privileges;

3.mysql8版本开通远程访问,使用8版本之前的命令会遇到的问题

1. 使用8版本之前的开通远程访问命令会出现的情况

报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY '123456' WITH GRANT OPTION' at line 1

原因:8版本后需先创建一个用户再进行授权

2.此时再操作8版本之后的开通远程访问命令还会报错

 报错:ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%'

 原因:在grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;这个命令中mysql已创建了此用户但是授权的命令并未生效

解决:

1.可以直接对创建好了的root用户进行授权操作执行此命令:grant all privileges on *.* to root@'%' with grant option;

2.删除创建的用户再重新按照8版本之后的开通远程访问命令操作

  1. #删除用户
  2. drop user root@'%';
  3. #开通远程访问(8版本后)
  4. #创建用户
  5. create user root@'%' identified by '123456';
  6. #授权远程访问
  7. grant all privileges on *.* to root@'%' with grant option;
  8. #刷新权限
  9. flush privileges;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/531330
推荐阅读
相关标签
  

闽ICP备14008679号