MySQL——用户管理

用户管理

一、用户信息

​ MySQL中的用户都存储在系统数据库mysql 的user表中;

​ 关键字段,User(用户名),Host(允许用户从哪一个主机进行登录),authentication_string(存放着当前用户对应的登陆密码),_priv(表示某种权限);

​ 换句话说,对MySQL进行用户管理如增删改,就是对user表进行修改;

二、用户管理相关SQL

2.1创建用户

​ 创建完新用户,并且要刷新特权;将登陆主机设置成%表示允许以任意主机的方式进行登录;

mysql 复制代码
create user '用户名'@'登陆主机/ip' identified by '密码';
flush privileges;

​ 当显示密码政策不支持时,进行如下操作;

mysql 复制代码
show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
mysql 复制代码
set global validate_password_policy=low;
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 8     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+

​ 当远端用户登录不支持时,在/etc/my.cnf文件中添加skip_ssl;进行远端登录必须保证服务端内部配置了允许远端登录的账号,另外不建议将云服务器的mysqld的端口号暴露到公网中;

​ MySQL主要是在内网环境中进行访问;

2.2删除用户

mysql 复制代码
drop user '用户名'@'登陆主机/ip';

2.3修改用户密码

方式一:自己修改自己的密码;

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

方式二:root用户可以修改其他人密码,也支持自己修改自己的密码;

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

三、权限管理

3.1给用户进行授权

mysql 复制代码
grant 权限列表(一个或者是多个权限,用,隔开) on 库.对象名(数据库.表/视图存储过程,*.*表示所有数据库的所有对象,库.*表示某个数据库的所有对象) to '用户名'@'主机名' 可以加设计密码但是不建议使用;
mysql 复制代码
grant all on...#表示给赋予所有的权限;

3.2查看给某一个用户的权限

mysql 复制代码
show grants for '用户名'@'主机名';
------------------------------------------------------+
| Grants for dyh@%                                     |
+------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dyh'@'%'                      |
| GRANT ALL PRIVILEGES ON `rootDB`.`user` TO 'dyh'@'%' |
+------------------------------------------------------+

3.3回收用户权限

mysql 复制代码
revoke 权限列表 on 库.对象名 from '用户名'@'主机名';
相关推荐
l1t1 分钟前
DeepSeek辅助编写连接sqlite的CLI
数据库·golang·sqlite
翔云1234563 分钟前
Gaea中配置如何更新
运维·数据库·mysql
泡海椒1 小时前
JQuick-SQL JQuickTable 模型:XML 动态 SQL 的表封装边界
xml·数据库·sql
ss2732 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 28 PostgreSQL MVCC机制介绍
数据库·笔记·postgresql
奇牙coding2 小时前
doubao-seed-2.1-pro 报 HTTP 401 怎么办?Key 正确也要检查请求头和端点
网络·数据库·http·ai
不脱发的程序猿10 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节
程序员塔塔喵11 小时前
【MySQL篇|第一篇】索引失效的情况
数据库·mysql·索引失效
paopaokaka_luck11 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
北京青蓝智慧马老师12 小时前
比外部黑客更难防的,是那个有权限的自己人(3 个脱敏复盘)
大数据·数据库·人工智能
笃行35012 小时前
拆一台数据集成产品:KFS 的骨架、肌肉和神经
数据库