MySQL新用户建库报错 ERROR 1044 (42000): Access denied for user 'kwan'@'localhost' to database 'my'
权限问题
mysql创建用户
可以使用以下语句创建新的用户:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username:即将将创建的用户名
host:指定该用户在哪个主机上可以登陆
如果是本地用户可用localhost
如果想让该用户可以从任意远程主机登陆,可以使用通配符
%
password:该用户的登陆密码,密码可以为空
- 如果为空则该用户可以不需要密码登陆服务器
创建新用户 kwan
-
登录管理员账户,创建用户:
mysql> CREATE USER 'kwan'@'localhost' IDENTIFIED BY '123';
-
创建成功后即可使用可终端登录新用户:
mysql -ukwan -p123
-
尝试使用新账户创建库:
mysql> create database my;
-
报错:
ERROR 1044 (42000): Access denied for user 'kwan'@'localhost' to database 'my'
通过报错语句,可以知道是被拒绝了访问,也就是这个账户没有这个权限
-
解决方法:
可以通过管理员账户(root)给新用户(kwan)授权,管理员账户(拥有最高权限的账户)可以给用户授予所有数据库的所有表的所有操作访问权限
# 给用户kwan授予所有数据库的所有表的所有操作访问权限 grant all privileges on *.* to 'kwan'@'localhost' with grant option; # 给用户kwan授予school数据库的所有表的操作访问权限 grant all privileges on school.* to 'luffy_server'@'%'; # 刷新权限 flush privileges;
现在登录账户 kwan 就可以创建库了