MySQL - 让mysql数据库支持远程连接
作者:hangge | 2017-05-30 08:10
1,问题描述
在远程 CentOS 服务器上安装了个 MySQL 数据库,发现从本地无法连接到这个数据库。我这里使用 MySQL Administrator 工具连接,报如下错误。
2,解决办法
这是由于 mysql 限制了远程连接,只需要将下 user 表中 Host 字段中的 localhost 改为‘%’就可以开启远程连接。当然改完记得重启下服务。
3,启用远程连接
(1)先登录到服务器上连接本地数据库(123 为密码)
mysql -h localhost -u root -p123
(2)选择要使用的数据库:mysql
use mysql
(3)执行如下命令更改远程连接的设置(123 为密码)。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
- 我们执行上面命令可能会报如下错误:
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 'hangge1234' WITH GRANT OPTION' at line 1
- 那么就改执行如下命令:
grant all privileges on *.* to 'root'@'%';
- 如果执行上面命令还报如下错误:
ERROR 1410 (42000): You are not allowed to create a user with GRANT
- 那么就改执行如下命令:
update mysql.user set host='%' where user = 'root';
(4)执行如下命令刷新刚才修改的权限,使其生效。
(5)执行如下命令查看修改是否成功。
flush privileges;
(5)执行如下命令查看修改是否成功。
select host,user from user;
- 查询结果如下,说明远程访问功能已成功开启。
4,禁止远程连接
如果我们又需要关闭远程连接功能,只需要登录 MySQL 后执行如下命令即可。
drop user 'root'@'%';
全部评论(0)