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

  1. 登录管理员账户,创建用户:

    mysql> CREATE USER 'kwan'@'localhost' IDENTIFIED BY '123';
    
  2. 创建成功后即可使用可终端登录新用户:

    mysql -ukwan -p123
    
  3. 尝试使用新账户创建库:

    mysql> create database my;
    
  4. 报错:

    ERROR 1044 (42000): Access denied for user 'kwan'@'localhost' to database 'my'

    通过报错语句,可以知道是被拒绝了访问,也就是这个账户没有这个权限

  5. 解决方法:

    可以通过管理员账户(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 就可以创建库了

posted @ 2022-08-13 16:30  梦想有双休  阅读(938)  评论(0编辑  收藏  举报