企业级MySQL用户管理

1.mysql用户的定义

mysql> select user,host from mysql.user;
+------+-----------+
| user | host      |
+------+-----------+
| rep  | 127.0.0.1 |
| root | 127.0.0.1 |
| root | ::1       |
|      | db01      |
| root | db01      |
|      | localhost |
| root | localhost |
+------+-----------+
7 rows in set (0.01 sec)
 
#以上是7个用户,在mysql中,用户的定义是  '用户名'@'主机域'

1)用户名写法

mysql> create user lhd@'10.0.0.51';
Query OK, 0 rows affected (0.01 sec)
 
#数字我们不作为用户创建,如果要创建,加上引号将数字解析成字符串就能添加了
mysql> create user '123'@'10.0.0.51';
Query OK, 0 rows affected (0.00 sec)

2)主机域的写法

127.0.0.1
::1
localhost
db01
10.0.0.51
10.0.0.%
10.0.%.%
10.%.%.%
%
10.0.0.5%  (10.0.0.51-10.0.0.59,10.0.0.5)
 
10.0.0.0/255.255.255.0
10.0.0.0/24	#可以创建但是不生效
#测试:
	mysql> grant all on *.* to lhd@'10.0.0.0/255.255.255.0' identified by '123';
	Query OK, 0 rows affected (0.00 sec)
 
	mysql> grant all on *.* to qiudao@'10.0.0.0/24' identified by '123';
	Query OK, 0 rows affected (0.00 sec)

2.用户的管理

1)创建用户

mysql> create user test@'10.0.0.%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

2)查看用户

mysql> select user,host from mysql.user;
+--------+------------------------+
| user   | host                   |
+--------+------------------------+
| lhd    | 10.0.0.%               |
| test   | 10.0.0.%               |
| root   | localhost              |
+--------+------------------------+
6 rows in set (0.00 sec)

3)删除用户

mysql> drop user qiudao@'10.0.0.0/24';
Query OK, 0 rows affected (0.00 sec)

4)修改密码

#1.update修改密码
mysql> update mysql.user set password=password('345') where user='lhd' and host='10.0.0.%';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0
 
#2.mysqladmin修改密码
[root@db01 ~]# mysqladmin -uroot -p123 password '345'
为了不暴露密码
[root@db01 ~]# mysqladmin -uroot -p password
Enter password: 
New password: 
Confirm new password:
 
#3.grant授权修改密码
mysql> grant all on *.* to lhd@'10.0.0.%' identified by '789';
Query OK, 0 rows affected (0.00 sec)
 
#4.修改当前登录用户的密码
mysql> set password=password('456');
Query OK, 0 rows affected (0.00 sec)

3.忘记root密码怎么办?

1.停止数据库
[root@db01 ~]# systemctl stop mysql
 
2.跳过授权表和网络启动
[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
 
3.连接数据
[root@db01 ~]# mysql
 
4.update修改密码
mysql> update mysql.user set password=password('123') where  user='root' and host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
5.刷新授权表
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
 
6.重启数据库
[root@db01 ~]# mysqladmin shutdown
[root@db01 ~]# systemctl start mysql
 
7.使用新密码连接测试
[root@db01 ~]# mysql -uroot -p123

人已赞赏
服务器与web应用

MySQL二进制指定目录安装数据库及MySQL配置

2020-10-16 0:00:00

服务器与web应用

关系数据库规范化理论

2020-10-19 0:00:00

⚠️
恩月阁文章由星九进行编写或整理,部分内容来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
若无意中侵害到您的权益,请发送邮件至 xingjiu@nuue.cn 或点击右侧 私信:星九 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索