当前位置: 首页 > news >正文

MySQL用户管理 - 实践

1.用户信息

MySQL中的用户,都存储在数据库的user表中。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
|//......            |
| mysql              |
+--------------------+
10 rows in set (0.00 sec)
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
|//......                                              |
| user                                                 |
+------------------------------------------------------+
38 rows in set (0.00 sec)

查看user表内容

mysql> select * from user\G;
//自行进行查看

mysql> select USER, HOST, authentication_string from user;
+------------------+-----------+------------------------------------------------------------------------+
| USER             | HOST      | authentication_string                                                  |
+------------------+-----------+------------------------------------------------------------------------+
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys        | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root             | localhost | *E092E64E0BD5C6924B0E56A4F4D155051CF2FD                                |
+------------------+-----------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)

host字段:表示用户可以从哪一个主机登录,localhost表示只能本机登录

user:用户名

authentication_string:用户通过password函数加密后的值

_priv:用户拥有的权限

MySQL允许创建多个用户,这些用户都为普通用户,root可以创建账号,创建账号需要设置用户名,从那里登录,密码。然后就会把这些信息作为数据插入到user表中。

创建用户

create user '用户名'@'登陆主机/ip' identified by '密码';

创建本地用户

-- 创建只允许本地登录的用户
CREATE USER 'localuser'@'localhost' IDENTIFIED BY 'password';

-- 创建允许本地socket和TCP/IP连接的用户
CREATE USER 'localuser'@'127.0.0.1' IDENTIFIED BY 'password';

本地是mysql机器内连接

权限刷新

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

登录创建的账号

u后面是用户名,p就是要密码

这个账号不能远程登录,host的值是localhost,只能本地登录,在MySQL上登录,不能跨网络登录。

删除用户

第一种

不安全,可能留下权限残留

delete from user where USER='zymm'

第二种

自动清理相关权限

-- 删除所有主机上的 lfz 用户
DROP USER IF EXISTS 'zymm'@'localhost', 'zymm'@'%';

创建远程登录的账号

使用  % 符号代表可以从任意主机进行登入

mysql> create user 'zymm'@'%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> select USER, HOST, authentication_string from user;
+------------------+-----------+------------------------------------------------------------------------+
| USER             | HOST      | authentication_string                                                  |
+------------------+-----------+------------------------------------------------------------------------+
| zymm              | %         | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              |
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys        | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root             | localhost | *E092E64E0BD5C6924B0E56A4F4D155051DFCF2FD                              |
+------------------+-----------+------------------------------------------------------------------------+
5 rows in set (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

window系统装了mysql就可以在命令提示符里打开mysql。

修改用户密码

用户自己修改密码

set password = password('新的密码');

root修改密码

set password for '用户名'@'主机名' = password('新的密码');

数据库权限

权限

上下文

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

Create_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 CLIENT

Repl_client_priv

服务器管理

REPLICATION SLAVE

Repl_slave_priv

服务器管理

SHOW DATABASES

Show_db_priv

服务器管理

SHUTDOWN

Shutdown_priv

服务器管理

SUPER

Super_priv

服务器管理

授权操作

grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码'];

示例

-- 授予所有数据库的所有权限(类似root)
GRANT ALL PRIVILEGES ON *.* TO 'superuser'@'localhost' IDENTIFIED BY 'password';

-- 授予所有权限并允许远程连接
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'Admin@123';

回收权限

revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

示例

all和all privileges是一个意思,后者规范

-- 回收某个用户的所有数据库权限
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'olduser'@'localhost';

-- 回收特定数据库的所有权限
REVOKE ALL PRIVILEGES ON `mydb`.* FROM 'dbuser'@'%';

http://www.gsyq.cn/news/40881.html

相关文章:

  • LLM 时代,DataAgent WhaleTunnel 如何将数据库变更瞬时 “转译” 为洞察?
  • 2025年靠谱的连锁泡菜加盟公司排名,泡菜加盟正规公司推荐
  • 深入解析:多模态医疗大模型Python编程合规前置化与智能体持续学习研究(中)
  • 前端图片压缩三方库browser-image-compression的使用实践
  • 如何处理旧 iPhone:安全地回收或重新利用 - 实践
  • 【Android】一种应用霸屏方式:设置固定应用
  • 2025年密闭冷却塔品牌排名推荐:密闭冷却塔加工厂价格哪家合理
  • Apache SeaTunnel 支持 Metalake 开发了!避免任务配置敏感信息暴露
  • HR内耗终结者:Moka People实现招聘、人事、薪酬全流程数据一体化,提效200%
  • 告别“功能堆砌陷阱”,2026年企业HR系统选型应聚焦价值而非价格
  • 线程和 Parallel.ForEach 的核心区别
  • 2025年五大文物展柜制造企业推荐,文物展柜来样定制企业全解析
  • 现今西南碳晶板制造厂技术评测与选择指南
  • keycloak~登录时将请求头里某个属性放入UserSessionModel
  • 深入解析:微信开放平台第三方平台,可以管理多个微信小程序
  • 2025年照明灯具源头厂家推荐前十排行权威指南
  • 2025年成都照明灯具供应厂家排名前十推荐
  • 2025年11月冷再生机工厂前十推荐排行榜单:江苏环硕建设领跑行业
  • 2025年陕西省基本农田调整技术服务十大品牌权威排名
  • 2025年陕西省基本农田调整技术服务十大品牌权威评测
  • 如何使用PortTunnel端口映射工具?
  • 关于Microsoft Power Automate-中-数据表的复制-副本
  • [Python刷题笔记]-相交链表-链表+哈希/双指针-简单
  • 行专列
  • P9837 汪了个汪 小结
  • 用 Python+OpenCV 实现实时文档扫描:从摄像头捕捉到透视矫正全流程 - 详解
  • 2025德语学习机构推荐:在线德语网课学习课程+真人互动+系统备考详解!
  • 深入解析:第二章:BI的原理与技术架构
  • 完整教程:Video-of-Thought论文阅读
  • 【第五章:计算机视觉-项目实战之生成式算法实战:扩散模型】2.CV黑科技:生成式算法理论-(2)扩散模型背后的数学原理 - 详解