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;

相关推荐
自不量力的A同学3 小时前
MongoDB 数据库 ORM/ODM 新工具
数据库·mongodb
小明说Java3 小时前
MySQL慢查询优化:从2秒到2毫秒的蜕变
数据库·mysql
Neoest3 小时前
【Java 填坑日记】Excel里的“1.00“存入数据库解密后,Integer说它不认识:一次 NumberFormatException 翻车实录
java·数据库·excel
摇滚侠3 小时前
Redis 零基础到进阶,教程简介,Redis 是什么,Redis 能干嘛,Redis 去哪下,Redis 怎么玩,Redis7 新特性,笔记一到八
数据库·redis·笔记
我命由我123453 小时前
Java 开发使用 MyBatis PostgreSQL 问题:传入的参数为 null,CONCAT 函数无法推断参数的数据类型
java·开发语言·数据库·学习·postgresql·mybatis·学习方法
小蒜学长3 小时前
基于Spring Boot家政服务系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
枫叶丹43 小时前
【Qt开发】Qt窗口(八) -> QFileDialog 文件对话框
c语言·开发语言·数据库·c++·qt
万邦科技Lafite3 小时前
京东店铺所有商品API接口指南讲解
java·开发语言·数据库·电商开放平台·淘宝开放平台
好大哥呀3 小时前
MVCC 版本链 通俗易懂讲解
数据库
YDS8293 小时前
MyBatis-Plus —— 扩展功能详解
数据库·mybatis