Host '192.168.*.*' is not allowed to connect to this MariaDB server

#报错:”Host ‘192.168.*.*’ is not allowed to connect to this MariaDB server”

两种解决方法:

  1. 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”, 使得可以在远程访问到mysql。

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = ‘%’ where user = ‘root’;

mysql>select host, user from user;

mysql>FLUSH RIVILEGES

  1. 授权法。

例如,你想myuser使用mypassword从 任何主机 连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON . TO ‘myuser‘@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON . TO ‘myuser‘@’192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO ‘myuser‘@’192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从局域网中某个ip的主机连接到mysql服务器的数据库,并使用mypassword作为密码;你要使用%通配符比如你有192.168.0.* 和 192.168.1.* 两个网段,要两个网段都可以访问你要’192.168.%’, 只要一个可以访问可以向下面例子这样。

GRANT ALL PRIVILEGES ON . TO ‘myuser‘@’192.168.1.%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;