原理:如果忘记了mysql登录密码,可以通过 --skip-grant-tables 绕过密码验证,修改密码后重启mysqld。
方法一:
1:
停止数据库
2:
在数据库配置文件 my.cnf 的 [mysqld]下面 追加一行
1 skip-grant-tables
保存修改重启数据库
1 service mysqld restart
3:
mysql直接登录用update修改密码, 或者直接set password 修改
1 set password=password('new passwd');
方法二(推荐):
1:
关闭数据库,skip-grant模式启动
1 service mysqld stop 2 Shutting down MySQL. SUCCESS! 3 4 mysqld_safe --skip-grant-tables 5 mysqld_safe Logging to '/data/db/mysql.err'. 6 mysqld_safe Starting mysqld daemon with databases from /data/db
2:
新开一个ssh,现在可以直接mysql命令进入数据库修改指定的用户密码了
1 update mysql.user set password=password('new passwd') where user='root' and host='localhost'; 2 flush privileges; 3 quit
3:
重启mysqld ,进入正常模式
1 service mysqld restart 2 Shutting down MySQL. SUCCESS! 3 Starting MySQL. SUCCESS!