【建站学院文档】今天在分离web和DB的过程中,遇到了mysql权限的问题。
在mysql中执行
use mysql;
select user,password,host from user;
有一个不需要用户名和密码就可以登录的帐号。于是就改掉这个
update user set user=’root’,host=’192.168.0.%’ where user=” and host=’localhost’;
修改用户权限
grant all on * to root@192.168.0.%;
flush privileges;
从本地连接测试还是只有test表,而且没有建数据库的权限。通过以下命令查询
show grants root@192.168.0.%;
发现如下结果
GRANT USAGE ON *.* TO ‘root’@'192.168.0.%’
这样的结果明显不对嘛。
退出,以另一ROOT用户登录,执行如下命令。
show grants for current_user();
结果如下:
GRANT ALL PRIVILEGES ON *.* TO ‘root’@'localhost’ WITH GRANT OPTION
你发现没有,原来后面还需要加上with grant option的,欢迎您继续在建站学院交流!~