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

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

局域网中远程连接数据库ERROR 1410 (42000): You are not allowed to create a user with GRANT_第1张图片

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

局域网中远程连接数据库ERROR 1410 (42000): You are not allowed to create a user with GRANT_第2张图片

3.填写IP账户号密码

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

局域网中远程连接数据库ERROR 1410 (42000): You are not allowed to create a user with GRANT_第3张图片

方法二 指定主机

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

create user [email protected] identified by '123';

授权时指明用户名和主机

grant select on test.* to [email protected]

两个方法的区别

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

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

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

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

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

你可能感兴趣的:(mysql,Linux,服务器,mysql,运维)