Java null, message from server: “Host ‘xxx‘ is not allowed to connect to this MySQL server“文件解决

本文详细阐述了root用户无法通过局域网或外网IP连接MySQL的问题,提供三种解决方案:修改root权限、创建用户授权并设置远程连接。包括修改权限表、创建用户和授权步骤,以及Ubuntu系统中mysql配置的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错原因:
root用户只能使用localhost连接,不能使用局域网或外网IP连接。
解决办法:
一、方法一,改表

  1. 进入mysql,选择数据库。
  2. 输入 update user set host=’%’ where user=‘root’;,修改root用户的权限范围。
  3. 输入flush privileges;,将权限更新操作刷新到内存中。
    在这里插入图片描述
    如果这个方法不行,可以用下面这种方法。

二、方法二,授权

  1. 创建用户
    创建user01,只能本地访问
    create user user01@‘localhost’ identified by ‘password’;
    创建user02,可以远程访问
    create user user02@’%’ identified by ‘password’
  2. 修改用户密码
    以user01为例:
    set password for ‘user01’@‘localhost’=password(‘anotherpassword’)
  3. 授权
    授予user01管理test的全部权限
    grant all privileges on test.* to user01;
    授予user02查看权限,并修改密码
    grant select on . to ‘user02’@’%’ identified by ‘anotherpassword’;
    授予所有权限
    GRANT ALL PRIVILEGES ON . TO zhangsan@"%" IDENTIFIED BY “lisi”;

三、方法三,设置mysql允许远程连接(ubuntu系统)

  1. sudo vi /etc/mysql/my.cnf
  2. 注释掉如下两行:
    bind-address=127.0.0.1
    skip-network(mysql5.6版本里没有这行)
  3. sudo service mysql restart
    结合一中的授权,被授权用户可以远程访问
    如果mysql远程访问没有开启,其它通过远程访问如django,mysql客服端均出现如下提示:
    Mysql ERROR 1698 (28000) ,特此记录一下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值