注意事项:mysql密码与Linux系统的用户无任何联系,而是mysql自身一套密码系统,mysql的最高管理员用户名也是root,其密码也不涉及任何文件,更改root密码最方便。mysql登陆命令可以是mysql -u root -p回车输入密码,也可以是mysql -uroot -p密码 直接登陆mysql。
修改mysql非root密码后建议定期检查/var/logs/php/php_error.log文件中的php报错信息,如果发现有mysql连接报错的信息,就能快速定位到没有更改的密码的php文件了。
方式一:mysql修改root用户密码(一句修改方式)
在Linux终端执行命令:mysql -u root -p
输入mysql的root密码后登陆到执行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文件中的密码即可。
附录:
如果忘记了mysql的root密码,可以通过修改mysql的配置文件my.cnf重置root密码。
修改/usr/local/mysql/etc/my.cnf文件,去掉skip-grant-tables前的#号,上传覆盖配置。
重启mysql:service mysql restart
使用mysql -u root -p登陆mysql,遇到输入密码时直接回车即可:
接下来,将以下命令复制到Linux终端上执行,密码就是123456
set PASSWORD=PASSWORD("123456");
然后,将my.cnf文件的skip-grant-tables前的#恢复,上传覆盖配置。
重启mysql:service mysql restart
最后,新开一个Linux终端,执行mysql -u root -p输入新密码登陆mysql。
转载随意,但请附上文章地址:-)