一、忘记 root 登录密码
忘记 root 密码的场景还是比较常见的,这个时候常用的方法是跳过权限验证,然后更改 root 密码,以 MySQL 5.7 版本为例简单讲下主要过程:
首先修改/etc/my.cnf配置文件,在[mysqld]部分加上如下参数:
skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证,然后重启数据库,数据库再次启动后,就可以不用密码直接登录数据库修改密码。
二、几种修改root密码的方法
以 MySQL 5.7 版本为例,介绍几种常用的修改密码的方法
1、使用 alter user 修改
使用默认密码进入MySQL后,使用如下命令修改密码。by后面的引号中即为密码
mysql>alter user 'root'@'localhost' identified by '新密码';
2、用update直接编辑user表
其实 MySQL 的账号信息都存储在 mysql.user 表里面,可以直接通过 update user 表来修改密码
# 5.7及之后版本
mysql> update mysql.user set authentication_string = password ('新密码') where user = 'root' and host = 'localhost';
# 5.6及之前版本
mysql> update mysql.user set password=password('新密码') where user='root' and host='localhost';
3、使用set password命令
使用 set password来修改root登录密码
mysql> set password for 'root'@'localhost' = password('新密码');
4、使用mysqladmin工具修改密码
[root@localhost ~]# mysqladmin -uroot -p旧密码 password 新密码
(关闭密码策略后也可使用mysql_secure_installation脚本来初始化数据库)