局域网中远程连接数据库ERROR 1410 (42000): You are not allowed to create a user with GRANT

本文讲述了在MySQL中遇到ERROR 1410 (42000)错误,如何为非root用户创建并授权访问数据库,包括无指定主机和指定主机的方法,并强调了不同主机权限设置的安全性。

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

ERROR 1410 (42000): You are not allowed to create a user with GRANT

这其实就是mysql授权的问题,非root用户,你需要一个权限才可以登录人家的数据库。

方法一 没有指定主机

在本地数据库新建用户,这里没有指定主机,默认为%。

create user root1 identified by '12345'

上面语句中,root01是新建的用户,123456是新用户的登录的密码;在另外一台电脑上登录时候就需要输入这里的用户名和密码。

给上面新建的用户进行授权,这里没有指定主机,默认为%。

grant select on test.* to root1;

运行后,显示成功:

grant select on test.* to root1
> OK
> 时间: 0.007s

现在就可以使用其他的客户端进行连接,比如Navicat,或者IDEA.

使用IDEA登录,

1.点击右侧的Database

 2.点击左上角的加号依次点击:Data Source ->Musql 

3.填写IP账户号密码

在下面的界面中,Host里面写你要连接的数据库的ip也就是,user里面就是刚才配置的root1,password输入配置的密码,然后测连接Test Connection,最后点击OK即可连接成功;

方法二 指定主机

在本地数据库新建用户,这里指定用户名和主机

create user user12@192.168.154.203 identified by '123';

授权时指明用户名和主机

grant select on test.* to user12@192.168.154.203

两个方法的区别

方法一 随便的主机都可以使用这个用户名和密码进行登录,很不安全;

方法二 指定了主机,也就只有这个主机的人才能使用这个用户名和密码进行远程数据库的登录。

在这里也看到了很多网上的其他的方法比如:update user set host='%' ,,

update user set host='%' where user='user6';    //更改主机
flush privileges;    //刷新
grant select on test.* to user6;  //授权成功

如有不足之处,欢迎讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值