MySQL用户创建及权限分配的步骤
在MySQL中创建用户并分配权限是数据库管理的基本任务之一。
创建用户
-
登录MySQL:
首先,你需要以root或具有相应权限的用户登录到MySQL服务器。mysql -u root -p
-
创建新用户:
使用CREATE USER
语句来创建一个新的数据库用户。你需要指定用户名和它将连接的主机,以及该用户的密码。CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
在这里,newuser
是你将要创建的用户名,而 localhost
表示这个用户名只能从本地机器连接到数据库。如果你想让该账户能够从任何主机连接,请使用通配符 %
.
分配权限
-
全局权限:
如果要给予全局级别(即对所有数据库)上特定或全部操作权利:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost'; -- 或者只授予SELECT和UPDATE等特定操作权利 GRANT SELECT, UPDATE ON *.* TO 'newuser'@'localhost';
-
数据库级别权限:
如果仅想授权访问特定数据:
GRANT ALL PRIVILEGES ON `database_name`.* TO 'newuser’@’ localhost ';
- 为了使得分配生效, 使用
FLUSH PRIVILEGES;
.
4 . 查看已经赋予权限:
SHOW GRANTS FOR ‘ new user ’ @ ’ localhost ';
5 . 撤销某些权利:
REVOKE SELECT ON ‘ database_name ’ .* FROM ‘ new user ’ @’ localhost ';
6 . 删除一个已存在:
DROP USER ‘ new user '@‘ localhost ';
权限细节
ALL PRIVILEGES
: 这个命令为一个 MySQL 用户账户赋予了所有标准数据操作。- 数据库对象: 用于指明哪些库或表受影响(例如: . , database_name.*, database_name.table_name)。
- 用户标识符: 指明了哪个 MySQL 账户接收这些权力(例如:‘username’@‘host_address’)。
注意事项
- 安全性:不建议给任何非root账号太多全局性质上.
- 最小化原则:根据实际需求最小化地分配必要.