修改密码
1、使用mysqladmin
$ mysqladmin -uroot -p password 123 #修改后的密码
Enter password: #输入原密码
2、使用alter命令
#查看MySQL用户
mysql> select user,host from user;
+---------------+------------+
| user | host |
+---------------+------------+
| tz | 10.154.0.% |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+------------+
4 rows in set (0.00 sec)
#修改tz的密码为456
mysql> alter user tz@'10.154.0.%' identified by '456';
3、如果是初始化MySQL后,会得到一个临时密码,这时修改密码使用如下语句
#修改root密码为123
mysql> alter user user() identified by "123";
忘记密码
1、关闭mysql服务
$ ps -ef | grep -i mysql
$ systemctl stop mysqld
#一定要确认关闭了mysql
$ ps -ef | grep -i mysql
2、编辑修改配置文件
#在[mysqld]标签下添加skip-grant-tables
$ vim /etc/my.conf
[mysqld]
...省略
skip-grant-tables
3、修改密码
在mysql5.7版本中存放密码字段为authentication_string
$ systemctl start mysqld
$ mysql -uroot
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('修改后的密码') where user='root';
#刷新授权表
mysql> flush privileges;
4、删除步骤2配置文件中的skip-grant-tables
5、重启数据库
学习来自:老男孩深标DBA课程 第二章 体系结构与管理