linux中如何正确的修改MySQL密码
本文章是在介绍在linux系统中出现忘记了mysql密码的解决办法,有碰到此类问题的朋友可来看看找回密码的方法.
如果你是没有忘记密码修改mysql密码的方法有多,如下面的语句:
UPDATE user 语句(回目录)
这种方式必须是先用root帐户登入mysql,然后执行:
1.如果您没有忘记密码的情况下,可以通过UPDATE直接编辑user表来修改密码,进入数据库,代码如下:
- mysql-urootmysql>usemysql;
- mysql>UPDATEuserSETPassword=PASSWORD('newpass')WHEREuser='root';
- mysql>FLUSHPRIVILEGES;
忘记了密码,在使用skip-grant-tables参数的同时,还要加上skip-networking参数,代码如下:
shell> mysqld_safe --skip-grant-tables --skip-networking &
接着使用SQL重置密码后,记得去掉skip-networking,以正常方式重启MySQL服务,代码如下:
shell> /etc/init.d/mysqld restart
上面的方法需要重启两次服务,实际上还能更优雅一点,重启一次即可,首先需要把用到的SQL语句保存到一个文本文件里,/path/to/init/file,代码如下:
UPDATE `mysql`.`user` SET `Password`=PASSWORD('yourpassword') WHERE `User`='root' AND `Host`= '127.0.0.1'; FLUSH PRIVILEGES;
接着使用init-file参数启动MySQL服务,代码如下:
shell> /etc/init.d/mysql stop shell> mysqld_safe --init-file=/path/to/init/file &
此时,密码就已经重置了,最后别忘了删除文件内容,免得泄露密码,如果上面办法你无法找回密码可参考下面办法,如果您已经忘记密码,代码如下:
- #/etc/init.d/mysqlstop1、结束当前正在运行的mysql进程。
- #/usr/bin/mysqld_safe--skip-grant-tables2、用mysql安全模式运行并跳过权限验证。
- #mysql-uroot3、重开一个终端以root身份登录mysql。
- mysql>usemysql;
4、修改root用户口令,代码如下:
- Readingtableinformationforcompletionoftableandcolumnnames
- Youcanturnoffthisfeaturetogetaquickerstartupwith-A
- Databasechanged
- mysql>updateusersetPassword=PASSWORD('root')whereUser='root';
- QueryOK,3rowsaffected(0.00sec)
- Rowsmatched:3Changed:3Warnings:0
- --phpfensi.com
- mysql>exit
- #/etc/init.d/mysqlrestart5、结束mysql安全模式,用正常模式运行mysql。
- mysql>updatemysql.usersetpassword=PASSWORD('新密码')whereUser='root';
6、试试你新修改的口令,代码如下:
mysql> flush privileges;
mysql> quit
热门评论