如果mysql/ target=_blank class=infotextkey>mysql数据库架设在本机,则无需考虑过用户授权的问题,直接使用 root 用户进行连接数据库。
当大家共同使用一个 MySQL 数据库,问题出现了,每次都是数据库连接无法获得。
查找了mysql手册,其中的解释是:root 用户仅能从本机访问。
查询用户表:
复制代码 代码示例:
SELECT host, user FROM mysql.user where user='root';
+-----------+------+
| host | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
发现问题的原因之后,新建一个用户并授予访问权限:
复制代码 代码示例:
GRANT ALL PRIVILEGES ON test.* TO newuser@'%'
IDENTIFIED BY security;
FLUSH PRIVILEGES;
授予 test 数据库的 所有表 的 所有访问权限 给 从任意客户端 登录的 newuser 用户,完成mysql用户授权。
再次查询用户表:
复制代码 代码示例:
SELECT host, user FROM mysql.user where user='newuser';
+-----------+---------+
| host | user |
+-----------+---------+
| % | newuser |
+-----------+---------+
1 row in set (0.00 sec)
另外,对于 Windows 系统还需要 关闭防火墙 或 将 MySQL 添加到防火墙的例外规则列表中。
现在,从任意客户端均可使用 newuser 用户名访问了。