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;

相关推荐
vvvae12342 小时前
分布式数据库
数据库
雪域迷影3 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
bug菌¹4 小时前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人4 小时前
SQL基础教程
数据库·sql·oracle
月空MoonSky4 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa4 小时前
【MySQL 06】表的增删查改
数据库·mysql
向上的车轮5 小时前
Django学习笔记二:数据库操作详解
数据库·django
编程老船长5 小时前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
全栈师6 小时前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 3176 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop