Mysql 创建用户并授权

文章目录
  • Mysql 创建用户并授权
      • 1. 创建用户
      • 2. 授权用户权限
        • 授予所有权限
        • 授予特定权限
        • 常用权限
      • 3. 刷新权限
      • 4. 查看用户权限
      • 5. 删除用户
      • 总结:

Mysql 创建用户并授权

1. 创建用户

首先登录到 MySQL 数据库:

mysql -u root -p

然后创建一个新用户。假设你想创建一个名为 newuser,密码为 password 的用户:

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

这里,'localhost' 表示该用户只能从本地连接到数据库。如果你希望该用户能够从任何 IP 地址连接,可以使用 '%' 代替 'localhost',或者指定IP:

CREATE USER 'newuser'@'177.77.77.7' IDENTIFIED BY 'password';
2. 授权用户权限

创建用户后,你可以授权该用户访问特定的数据库和执行相应的操作。

授予所有权限

如果你想授予 newuser 所有权限(例如对数据库 testdb 的所有权限),你可以执行以下命令:

GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost';
  • testdb.* 表示授予对数据库 testdb 中所有表的权限。
  • 'newuser'@'localhost' 指定了用户名和主机,意味着该用户只能从本地主机连接。

如果你想让用户从任何主机连接,可以使用 %或者指定ip:

GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'%';
授予特定权限

你还可以只授予特定的权限,例如:

  • SELECT 权限:只允许查询数据
  • INSERT 权限:只允许插入数据
  • UPDATE 权限:只允许更新数据
  • DELETE 权限:只允许删除数据

例如,只授予 newusertestdb 数据库上的查询和插入权限:

GRANT SELECT, INSERT ON testdb.* TO 'newuser'@'localhost';
常用权限
  1. 全局权限 (Global Privileges)

这些权限适用于 MySQL 服务器的所有数据库。

  • ALL PRIVILEGES:授予所有权限,相当于所有其他权限的集合。
  • CREATE:允许创建新数据库。
  • DROP:允许删除数据库。
  • DELETE:允许删除数据库中的记录。
  • PROCESS:允许查看其他用户的活动和进程。
  • SHOW DATABASES:允许查看服务器上所有数据库。
  • SUPER:允许执行一些高级操作,如终止查询、设置全局系统变量等。
  • RELOAD:允许重新加载授权表,刷新日志文件等。
  • SHUTDOWN:允许关闭 MySQL 服务。
  • FILE:允许读取和写入文件,通常用于导入/导出数据。
  • SHOW VIEW:允许查看视图定义。
  1. 数据库级权限 (Database Privileges)

这些权限适用于单个数据库中的所有表、视图、存储过程等。

  • CREATE:允许在该数据库中创建表、视图等。
  • ALTER:允许修改数据库中的表结构。
  • DROP:允许删除数据库中的表或视图。
  • INDEX:允许创建和删除索引。
  • CREATE TEMPORARY TABLES:允许创建临时表。
  • LOCK TABLES:允许锁定表(用于多线程操作时确保数据一致性)。
  1. 表级权限 (Table Privileges)

这些权限适用于数据库中的单个表。

  • SELECT:允许读取表中的数据。
  • INSERT:允许向表中插入数据。
  • UPDATE:允许更新表中的数据。
  • DELETE:允许删除表中的数据。
  • CREATE:允许在该表上创建触发器和视图。
  • DROP:允许删除表。
  • ALTER:允许修改表的结构。
  • INDEX:允许在表上创建或删除索引。
  • CREATE VIEW:允许在该表上创建视图。
  • SHOW VIEW:允许查看视图的结构。
  1. 列级权限 (Column Privileges)

这些权限适用于表中的单个列。

  • SELECT:允许读取该列的数据。
  • INSERT:允许插入数据到该列。
  • UPDATE:允许更新该列的数据。
3. 刷新权限

授权完成后,执行以下命令以使权限立即生效:

FLUSH PRIVILEGES;
4. 查看用户权限

如果你想查看某个用户的权限,可以使用以下命令:

SHOW GRANTS FOR 'newuser'@'localhost';
5. 删除用户

如果你要删除用户,可以使用以下命令:

DROP USER 'newuser'@'localhost';
总结:
  • 使用 CREATE USER 创建新用户。
  • 使用 GRANT 授予权限。
  • 使用 FLUSH PRIVILEGES 刷新权限。
  • 使用 SHOW GRANTS 查看用户权限。
  • 使用 DROP USER 删除用户。
转载请说明出处内容投诉
CSS教程网 » Mysql 创建用户并授权

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买