MySQL用户创建及权限分配的步骤

54 阅读2分钟

在MySQL中创建用户并分配权限是数据库管理的基本任务之一。以下是详细的步骤和说明:

创建用户

  1. 登录MySQL
    首先,你需要以root或具有相应权限的用户登录到MySQL服务器。

    mysql -u root -p
  2. 创建新用户
    使用 CREATE USER语句来创建一个新的数据库用户。你需要指定用户名和它将连接的主机,以及该用户的密码。

    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
    ​
    

在这里,newuser是你将要创建的用户名,而 localhost表示这个用户名只能从本地机器连接到数据库。如果你想让该账户能够从任何主机连接,请使用通配符 %.

分配权限

  1. 全局权限

    如果要给予全局级别(即对所有数据库)上特定或全部操作权利:

    GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
    
     -- 或者只授予SELECT和UPDATE等特定操作权利
    
     GRANT SELECT, UPDATE ON *.* TO 'newuser'@'localhost';
    ​
    
  2. 数据库级别权限

如果仅想授权访问特定数据:

GRANT ALL PRIVILEGES ON `database_name`.* TO 'newuser’@’ localhost ';
​

3. 为了使得分配生效, 使用 FLUSH PRIVILEGES;.

4 . 查看已经赋予权限:

SHOW GRANTS FORnew user ’ @ ’ localhost ';
​

5 . 撤销某些权利:

REVOKE SELECT ON ‘ database_name ’ .* FROMnew user ’ @’ localhost ';
​

6 . 删除一个已存在:

DROP USERnew user '@‘ localhost ';
​

权限细节

  • ALL PRIVILEGES: 这个命令为一个 MySQL 用户账户赋予了所有标准数据操作。
  • 数据库对象: 用于指明哪些库或表受影响(例如:  . , database_name.*, database_name.table_name)。
  • 用户标识符: 指明了哪个 MySQL 账户接收这些权力(例如:‘username’@‘host_address’)。

注意事项

  • 安全性:不建议给任何非root账号太多全局性质上.
  • 最小化原则:根据实际需求最小化地分配必要.

通过以上步骤可以有效地在 MySQL 中管理不同层次、不同范围内对于数据与结构进行精确控制。