通过 Navicate Lite for Mysql 创建一个 mysql 新用户 test ,设置主机为 localhost 和密码。用该新用户连接数据库时报 1045- Access denied for user ‘test’@’192.168.31.192’(using password:YES) 错误。很确定连接数据库是用户名和密码都没有输错。
原因: 创建用户的主机表示允许连接的主机名或者 ip ,而非数据库所在的 ip ,此处设置的主机为 localhost, 所以只允许在本机连接数据库。在其它机器上连接时就会报上述错误。
解决方法: 将主机修改为 “%” 允许任何机器连接访问。
“%” 字符起通配符作用,与 LIKE 模式匹配的含义相同。主机名设置为 192.168.31.192 表示只有 192.168.31.192 机器能访问,而 192.168.31.% 则表示所有以 192.168.31 的打头 IP 都能访问, 192.168.31.0/17 指定一个 17 位网络号并匹配具有 192.168.31 头 17 位的 IP 地址才能访问。