03-MySQl数据库的-用户管理

一、创建新用户

mysql> create user xjzw@'10.0.0.%' identified by '1';

Query OK, 0 rows affected (0.01 sec)

二、查看当前数据库正在登录的用户

mysql> select user();

+----------------+

| user() |

+----------------+

| root@localhost |

+----------------+

1 row in set (0.00 sec)

三、查看系统中用户信息

1,指定字段查询

查看所有用户的名、白名单、密码三个字段

mysql> select user,host,authentication_string from mysql.user;

2,查询所有字段

拓展\G代表纵向显示信息(尾端不打分号";")

mysql> select * from mysql.user\G

四、修改用户密码

1,未登录状态下修改

· 没有密码的前提下

root@db01 local\]# mysqladmin password '1'

· 有密码的前提下

root@db01 local\]# mysqladmin -uroot -p1 password 'xinjizhiwa'

2,登录状态下修改

mysql> alter user root@'localhost' identified by '1';

#############

刷新

mysql> flush privileges;

拓展:mysql5.6和5.7版本的修改密码方式如下

#5.7版本修改密码;

mysql> updata mysql.user set authentication_string=PASSWORD("123") where user='root'

#5.6版本修改密码

mysql> set password for 'root'@'localhost'=PASSWORD('123');

五、重置/破解数据库密码

1,杀死mysql进程,关闭mysql

2,跳过权限验证和端口监听启动mysql

root@db01 local\]# /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking \&

参数说明

--skip-grant-tables #跳过授权表验证;

--skip-networking #跳过监听端口;

3,此时登录mysql

root@db01 local\]# mysql -uroot

4,加载回授权表

刷新同步磁盘和内存,将磁盘中的数据,同步到内存中(即mysql内部开启授权表)

本质上就是把授权表加载回来

mysql> flush privileges;

5,此时就可以设置密码操作了

mysql> alter user root@'localhost' identified by '123';

6,重启数据库

· 再查一遍mysql进程,kill掉

· 重启数据库

root@db01 local\]# systemctl restart mysql.service

六、删除用户

1,指定用户名和白名单删除

mysql> drop user xjzw@'10.0.0.%';

Query OK, 0 rows affected (0.01 sec)

2,从系统表里删除

mysql> delete from mysql.user where user='xinjizhiwa' and host='%';

Query OK, 1 row affected (0.03 sec)

删除后记得刷新

mysql> flush privileges;

七、锁定、解锁用户

#锁定

mysql> alter user xinjizhiwa@'%' account lock;

#解锁

mysql> alter user xinjizhiwa@'%' account unlock;

相关推荐
廿一夏5 小时前
MySql存储引擎与索引
数据库·sql·mysql
lzhdim7 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室7 小时前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)7 小时前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU8 小时前
Spring IoC&DI
java·数据库·spring
Muscleheng9 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿10 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-10 小时前
Redis 命令
数据库·redis·缓存
小江的记录本11 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`11 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存