MySQL用户管理

MySQL用户管理

1. 查看用户信息

MySQL 的用户信息都存储在 mysql 数据库中。

mysql 复制代码
select USER,HOST,authentication_string from user;

USER: 用户名。

HOST: 表示这个用户可以从哪个主机登录,localhost 表示只能从本机登录。

authentication_string: 用户密码通过加密后显示的字符。


user 表中还有一堆的权限字段,以 *_priv 的方式命名,可以查看用户具有哪些权限:

2. 创建用户

创建本地用户:

本地用户只能从本机访问数据库。

mysql 复制代码
create user 'user_name'@'localhost' identified by 'password';
-- 或
create user 'user_name'@'127.0.0.1' identified by 'password';

创建公网用户:

mysql 复制代码
create user 'user_name'@'%' identified by 'password';

也可以指定公网用户具体通过哪个 IP 登录才能访问数据库。


创建完用户后,需要刷新新用户才能访问数据库:

mysql 复制代码
flush privileges;

3. 删除用户

mysql 复制代码
drop user '用户名'@'主机名';

4. 修改用户密码

用户修改自己的密码:

mysql 复制代码
set password=password('新密码');

root修改指定用户密码:

mysql 复制代码
set password for '用户名'@'主机名'=password('新密码');

5. 数据库权限

权限 列 上下文
CREATE Create_priv 数据库、表或索引
DROP Drop_priv 数据库或表
GRANT OPTION Grant_priv 数据库、表或保存的程序
REFERENCES References_priv 数据库或表
ALTER Alter_priv 表
DELETE Delete_priv 表
INDEX Index_priv 表
INSERT Insert_priv 表
SELECT Select_priv 表
UPDATE Update_priv 表
CREATE VIEW Create_view_priv 视图
SHOW VIEW Show_view_priv 视图
ALTER ROUTINE Alter_routine_priv 保存的程序
CREATE ROUTINE reate_routine_priv 保存的程序
EXECUTE Execute_priv 保存的程序
FILE File_priv 服务器主机上的文件访问
CREATE TEMPORARY TABLES Create_tmp_table_priv 服务器管理
LOCK TABLES Lock_tables_priv 服务器管理
CREATE USER Create_user_priv 服务器管理
PROCESS Process_priv 服务器管理
RELOAD Reload_priv 服务器管理
REPLICATION CLIENI Repl_client_priv 服务器管理
REPLICATION SLAVE Repl_slave_priv 服务器管理
SHOW DATABASES Show_db_priv 服务器管理
SHUTDOWN Shut_dow_priv 服务器管理
SUPER Super_priv 服务器管理

5.1 用户授权

新创建的用户没有任何权限,需要手动给用户授权。

mysql 复制代码
grant 权限列表 on 库.对象名 to '用户名'@'登录IP' [identified by 'password'];

库.对象名: 可使用 *.* 代表本系统中所有数据库的所有对象;可使用 库.* 表示某个数据库中的所有对象。

identified by: 为可选项,当授权用户不存在时会使用密码创建用户并授权;用户存在时会授权并修改用户密码。


对用户授权后,如果没有生效,需要刷新:

mysql 复制代码
flush privileges;

5.2 回收权限

mysql 复制代码
revoke 权限列表 on 库.对象名 from '用户名'@'登录IP';
相关推荐
香蕉大香蕉(06敬畏市场)2 分钟前
MySQL 单点详解(06)
java·数据库·mysql·博客·实习
CodeHackerBhx4 分钟前
MySQL 迁达梦踩坑实录:FIND_IN_SET、timestamp(6) 和一整批要改的函数
数据库·mysql·达梦·信创·数据库迁移
n 55!w !10816 分钟前
MySQL笔记整理2
数据库·笔记·mysql
aiks_yuan19 分钟前
MySQL 批量插入很慢怎么办:rewriteBatchedStatements 实测 10 万行从 4.5 秒到 1 秒(JDBC、MyBatis、LOAD DATA 对比)
mysql
李纲明1 小时前
WordPress 提示「建立数据库连接时出错」:先核 wp-config 与数据库服务,再查表损坏与磁盘配额
数据库·wordpress·devdiy
freejackman1 小时前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
杨云龙UP1 小时前
TDengine 社区版磁盘空间不足故障处理 SOP:历史日志清理、日志保留策略及数据保留 200 天
数据库·时序数据库·tdengine·tsdb·历史日志清理·trim database·logkeepdays
企业数字化笔记1 小时前
业务单据怎样接入流程中心?启动条件、实例关联与失败回退
java·spring boot·mysql
betazhou1 小时前
MySQL Oracle官方备份工具
数据库·mysql·oracle
一万年太久。1 小时前
mysql主从复制
数据库·mysql