Linux 下 MySQL 密码强制修改

好吧好吧,这事不怨我,二逼同事打扰我,就输错了……

一、停掉mysql服务

1
2
3
4
#单独安装的mysql
service mysqld stop
#其他如lnmp脚本安装的
lnmp mysql stop

二、启动mysql,禁止权限验证

1
2
#在mysql安装目录的bin目录下执行(&后台执行)
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

三、本地登录,更改密码

1
2
3
4
5
6
7
8
9
10
#本地 localhost登录无需密码
mysql -u root
#切换数据库
mysql>use mysql;
#更改密码
mysql>update user set password=password("newpasswd") where user="root";
#刷新权限
mysql>flush privileges;
#退出
mysql>\q

四、启动mysql

  • 先停掉已经跳过权限的mysql启动进程
1
2
3
4
5
6
#查询mysql是否启动
ps aux | grep "mysql"
#如果发现 有 --skip-grant-tables 类似的进程 找到其 PID kill掉
#然后在 kill掉其他进程
#PID : 用户名后面的 数字为PID
kill -9 PID
  • 正常启动mysql
1
2
3
4
#普通直接安装
service mysqld start
#lnmp脚本安装
lnmp mysql start
  • 登录测试
1
2
#输入密码
mysql -uroot -p

Linux 下 MySQL 密码强制修改
https://mritd.com/2015/12/28/forced-change-mysql-passowrd-on-linux/
作者
Kovacs
发布于
2015年12月28日
许可协议