如何将服务器数据库设置支持异地访问

摘要

在服务器搭建数据库后,一般创建用户后可通过用户密码进行本地访问,如果此时需要使该数据库支持异地访问,比如用户在本地用Navicat等第三方数据库工具访问,则需要创建一个可支持异地访问登录的用户。

解决办法

  1. 进入服务器控制台(命令行);
  2. 设置当前数据库跳过授权验证:
    修改my.cnf,去掉#skip-grant-tables前面的“#”,保存退出。
[root@XXX bin]# vi /etc/my.cnf 
  1. 重启mysql服务
[root@XXX bin]# systemctl restart mysql
  1. 进入mysql命令行
[root@XXX bin]# mysql
  1. 执行添加用户授权的命令
    更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改称"%",即可支持远程登录。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'cth19910127' WITH GRANT OPTION;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
//输入如上命令后如果出现此错误,则继续输入一下命令
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; //重新再输一遍
Query OK, 0 rows affected (0.00 sec) 
  1. 重新设置数据库登录需要授权验证,即是将第二部去掉的#skip-grant-tables前面的“#”重新补回来;

  2. 重启mysql

[root@XXX bin]# systemctl restart mysql

完成以上操作后,即可用root账户进行异地登录。

你可能感兴趣的:(如何将服务器数据库设置支持异地访问)