MySQL命令行用户管理教程:添加与授权

0 下载量 7 浏览量 更新于2024-08-30 收藏 70KB PDF 举报
本文主要介绍了在MySQL命令行环境下如何进行用户管理,包括添加用户和授权。 在MySQL中,用户管理是数据库系统的核心部分,确保数据安全性和访问控制。默认情况下,MySQL安装后会包含一个名为`mysql`的系统数据库,其中`user`表存储了所有用户的信息。此外,还有其他相关表如`tables_priv`, `procs_priv`, `columns_priv`以及`information_schema`数据库中的`USER_PRIVILEGES`等,用于记录用户的不同权限细节。 在没有图形化管理工具如phpmyadmin的情况下,可以通过MySQL命令行客户端执行SQL语句来管理用户。 一、添加用户 1. `CREATE USER` `CREATE USER`语句用于创建新的MySQL用户。基本语法如下: ```sql CREATE USER user_name '@' host_name [IDENTIFIED BY 'password']; ``` 例如: ```sql mysql> CREATE USER 'newuser' '@localhost'; ``` 这将创建一个名为`newuser`,只允许在本地主机(localhost)登录的用户。如果需要设置密码,可以添加`IDENTIFIED BY`子句: ```sql mysql> CREATE USER 'newuser' '@localhost' IDENTIFIED BY 'mypassword'; ``` 然而,`CREATE USER`创建的用户通常没有权限,因此通常会与`GRANT`命令一起使用。 2. `GRANT` `GRANT`语句用于赋予用户特定的数据库或表级别的权限。基本语法如下: ```sql GRANT priv_type [(column_list)] ON object_type priv_level TO user_specification; ``` 例如,要授予`newuser`对`mydatabase`数据库的所有表的`SELECT`和`INSERT`权限,可以执行: ```sql mysql> GRANT SELECT, INSERT ON mydatabase.* TO 'newuser' '@localhost'; ``` 这将允许`newuser`在本地连接到`mydatabase`并执行`SELECT`和`INSERT`操作。 二、管理权限 权限管理是用户管理的关键部分。除了`GRANT`,还可以使用`REVOKE`撤销已授予的权限,`FLUSH PRIVILEGES`刷新权限缓存,确保权限更改立即生效。 ```sql mysql> REVOKE SELECT, INSERT ON mydatabase.* FROM 'newuser' '@localhost'; mysql> FLUSH PRIVILEGES; ``` 总结来说,MySQL命令行用户管理涉及创建用户、设置权限以及管理这些权限。通过熟练掌握`CREATE USER`和`GRANT`命令,可以在没有图形界面工具的情况下,有效地管理和控制数据库的用户访问权限。