修改 mysql数据库root密码的安全方法

# mysql -u root -p    //默认无密码,登陆数据库

# mysql> use mysql;     //使用mysql数据库
#
# mysql> update user set password=PASSWORD(‘newpassword’) where user=’root’;

//更新密码
#
# mysql> flush privileges;    //刷新MySQL系统权限的相关表  也可以理解为刷新缓存
#
# mysql> exit

看见 行匹配 和更改为3说明成功。

之前用的mysqladmin方式更改密码的缺点是:

仅能更改一行记录。这样会导致 root用户在 mysql 表里的3行(localhost {HOSTNAME} 127.0.0.1)记录有不同的密码,会对以后使用root用户操作带来隐患。

child process * still did not exit, sending a SIGTERM

有位同学的apache基本一天挂一次,重启httpd服务后正常。检查日志发现一个错误并且是经常性出现:child process * still did not exit, sending a SIGTERM

猜测问题应该出现在子进程中的MaxRequestsPerChild部分,检查他的工作方式:apachectl -l

是prefork模式,然后检查他的配置文件,发现MaxRequestsPerChild部分参数为0,想到有可能是内存泄露了。

对于他这个问题,继续跟进。淡定···

将MaxRequestsPerChild设置成非零值有两个好处:

可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

今天问题算是解决了:

发现日志说,写入访问日志或者是错误日志意外失败。

df -h 一看/var/logs 使用率已经100%了。那么再次检查httpd.conf文件,确定服务器上挂载的20多个站日志位置都位于此路径下,导致日志无法写入而系统崩溃。

通知它删减日志,运行看看。继续跟进···

过了好几天了,没听见他再反应服务器崩溃,那么可以确定,问题解决了。