本地操作远程数据库时 Host ‘XXXX’ is not allowed to connect to this MySQL server
情景:使用navicat打开远程数据库,方便直接对远程数据库的操作
- 使用navicat连接远程服务器数据库提示无法正常连接
- 原因: 本地mysql未授权导致
- 解决
- 1.在cmd中输入mysql -u root -p123(无密码直接-p),然后回车,输入密码后回车进入mysql命令行
- 2.选择mysql自带库: use mysql
- 3.查看用户名,默认只有root和mysql.sys
- 目的:创建与远程数据库管理员名字和密码相同的用户及分配远程服务器ip
- 4.1由于我之前捣鼓创建过了直接修改ip地址update user set host=’远程服务器ip’ where user=’远程数据库用户名’ ;
- 4.2或者创建新用户grant all privileges on *.* to user75@”xxx.xxx.xxx.xxx” identified by “密码”;
5.输入flush privileges;相当于刷新(必须要有)
打开navicat重新配置
- 1)
- 2)
3)不出意外连接成功
4)本地与远程数据库
说明
步骤4.2 mysql指令详解
grant all privileges on *.* to user75@”xxx.xxx.xxx.xxx” identified by “密码”;
all privileges : 所有的权限 可以精分为 select,insert (只分配查询,插入权限)
on *.* : 第一个*代表全体数据库 可以修改为具体的数据库如my_db.*代表可以操控my_db下所有表
to user75@”xxx.xxx.xxx.xxx” identified by “密码”; : 添加的用户名 分配的IP 及密码 就不说了
- -