首页 > Mysql > Linux下mysql密码的两种修改方式

Linux下mysql密码的两种修改方式

注意事项:

  1. mysql密码与Linux系统的用户无任何联系,而是mysql自身一套密码系统,mysql的最高管理员用户名也是root其密码也不涉及任何文件,更改root密码最方便。mysql登陆命令可以是mysql -u root -p回车输入密码,也可以是mysql -uroot -p密码 直接登陆mysql

  2. 修改mysqlroot密码后建议定期检查/var/logs/php/php_error.log文件中的php报错信息,如果发现有mysql连接报错的信息,就能快速定位到没有更改的密码的php文件了。

方式一:mysql修改root用户密码(一句修改方式)

Linux终端执行命令:mysql -u root -p

输入mysqlroot密码后登陆到执行mysql的界面:

修改密码的sql语句:set password=PASSWORD("123456");

执行后即可完成root密码的修改。


方式二:mysql修改其他用户密码:(三句修改方式)

首先,你得在服务器上查询有哪些普通用户,以及网站真正使用的用户有哪些。

use mysql;

select distinct(user) from user;

这就就能列出mysql有哪些用户了,请确保准备修改用户的密码所记录的文件也能作出相应的更改。

这里仍然以root用户密码的修改为例:

use mysql;

update user set password = PASSWORD("123456") where user="root";

flush privileges;

注意:最后一句一定要执行,否则不生效!


如果真的需要修改mysql普通用户的密码,建议使用以下命令搜索所有php文件中写死的mysql用户密码:

cd /home/www

find . -name "*.php" |xargs grep -ri "密码" -l

由于我们设置的密码都具备唯一性,所以我们可以拿密码到php文件中进行内容通配。

执行以下两句命令查找所有含有此密码的php文件列表。

执行那三句sql语句修改指定用户的密码,然后再修改所有列出来的php文件中的密码即可。



附录:

如果忘记了mysqlroot密码,可以通过修改mysql的配置文件my.cnf重置root密码。

修改/usr/local/mysql/etc/my.cnf文件,去掉skip-grant-tables前的#号,上传覆盖配置。

重启mysqlservice mysql restart

使用mysql -u root -p登陆mysql,遇到输入密码时直接回车即可:

image8.png

接下来,将以下命令复制到Linux终端上执行,密码就是123456

set PASSWORD=PASSWORD("123456");

image9.png

然后,将my.cnf文件的skip-grant-tables前的#恢复,上传覆盖配置。

重启mysqlservice mysql restart

最后,新开一个Linux终端,执行mysql -u root -p输入新密码登陆mysql

参考:《mysql root密码找回和typecho密码找回方法》

本文地址:http://blog.zhengshuiguang.com/mysql/mysql-password-1.html

转载随意,但请附上文章地址:-)

标签:密码修改

评论已关闭