方法 1:
1. 停止 MySQL 服务
# kill `cat /var/run/mysqld/mysqld.pid`
或者
# pkill mysqld
2. 建立一个密码赋值语句的文字档案
# vi mysql-init
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass!6’;
在载入授权表之前重置密码。
3. 使用—init-file 选项启动 MySQL 服务
# mysqld –init-file=mysql-init –user=mysql &
4. 删除文字档案,使用新密码连线 MySQL
# rm -f mysql-init
# mysql -uroot -p ‘MyNewPass!6’
5. 停止 MySQL 服务并正常启动
# kill `cat /var/run/mysqld/mysqld.pid`
# systemctl start mysqld
方法 2:
1. 停止 MySQL 服务
# kill `cat /var/run/mysqld/mysqld.pid`
# pkill mysqld
2. 使用–skip-grant-tables –skip-networking 选项启动 MySQL 服务
# mysqld –skip-grant-tables –skip-networking –user=mysql
–skip-grant-tables:跳过授权表认证
–skip-networking:加了跳过授权表选项后所有的人都可以无密码登入,这是很不安全的,此选项不监听互联网,防止恶意登入。
3. 无密码连线 MySQL
# mysql
4. 重置密码
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass!6’;
5. 停止 MySQL 服务并正常启动
# kill `cat /var/run/mysqld/mysqld.pid`
# systemctl startmysqld
简单、快捷、有效,记得收藏哦!万一哪天 root 密码找不到了呢!