最简单的办法
1、用PHP写一个UNIX SHELL:
filename:rebuild_root_password.php程序如下#! bin/php
<?php
$con = mysql_connect('主机', '用户名', '密码');
mysql_select_db('mysql');
$newpassword = makePassword();
mysql_query('update user set password=PASSWORD(\''.$newpassword.'\') where user=\'mysql\'');
mysql_query('FLUSH PRIVILEGES');
mysql_close($con);// 按照一定规则自动生成新密码function makePassword() {
....
}?>保存到任意位置,比如/root,将文件权限设置成700,然后2、修改crontab内容shell>>crontab -e加入以下内容01 05 1 * * /root/rebuild_root_password.php保存退出既可。
程序没有具体调试,可能标点符号语法之类有一点错误,但大体就是这样了。
1、用PHP写一个UNIX SHELL:
filename:rebuild_root_password.php程序如下#! bin/php
<?php
$con = mysql_connect('主机', '用户名', '密码');
mysql_select_db('mysql');
$newpassword = makePassword();
mysql_query('update user set password=PASSWORD(\''.$newpassword.'\') where user=\'mysql\'');
mysql_query('FLUSH PRIVILEGES');
mysql_close($con);// 按照一定规则自动生成新密码function makePassword() {
....
}?>保存到任意位置,比如/root,将文件权限设置成700,然后2、修改crontab内容shell>>crontab -e加入以下内容01 05 1 * * /root/rebuild_root_password.php保存退出既可。
程序没有具体调试,可能标点符号语法之类有一点错误,但大体就是这样了。
mysql stop
mysqld --user=mysql --skip-grant-table
mysqladmin -uroot -p "随意" mypwd
/etc/init.d/mysql restart把上面保到文件,定期执行,如果想把密码改成随机生成还可以修改上面的mypwd,再用自定义脚本随机生成字密码去实现,具体自已操作一下吧