解决mysql本地连接到远程数据库失败

本地操作远程数据库时 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 及密码 就不说了

  • -
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值