问题描述
客户端可以连接数据库,运行代码显示远程没有连接,这个要怎么解决的?
问题原因
数据库没有开放远程登录权限
解决办法
客户端
在mysql表中执行:
select * from user where user='root';
查询到数据之后 该语句查询出一条数据。将该条数据的 Host 列(第一列)有 localhost 改为 %
然后刷新
命令行
- 启动mysql:
mysql -u root -p
- 依次执行:
- use mysq;
- select host from user where user=‘root’;
可以看到当前主机配置信息为localhost.
执行update user set host = ‘%’ where user ='root’将Host设置为通配符% 这样便可允许远程登录
执行 flush privilegs
使配置立即生效