不去在乎结果,热情地付出过,就好了.

一起mysql数据库密码忘记事件

今天有个以前的小伙伴找我,跟我说有台服务器他把mysql的root密码忘了,

主机上是有网站的,而且很不好,连接数据库用的就是root,

这个当时为了方便,真是后患无穷,

我就让他去找网站的配置文件,链接数据库的文件里面应该是有密码的,

他找了以后跟我说,密码是空的,我当时觉得有点不可能,

要么是网站设置有问题,要么配置文件没找对.

linux系统的root是记得的,可以在主机上直接修改用户表,修改mysql密码,

但是直接改密码网站就会出问题,不能这么做.

于是我按他说的地方去看了一下配置文件,确实是空密码,

<?php
#DBConnect.php
include "mysql.class.php";
$DB = new MYSQL();
$DB->dbServer="localhost";
$DB->dbUser="root";
$DB->dbPwd="";
$DB->dbDatabase="###database###";
$DB->connect(); // <C1><AC><BD><D3><CA><FD><BE><U+077F><E2>
?>

假设现在网站又能正常获取数据,至少目前看起来是这样,

我点了几个网页,都是静态html的,

但是网站是基于CMS二次开发的,静态网页说明不了问题,就先假设网站访问数据库没有问题.

链接配置文件倒数第二行那里在VIM里面是乱码的,不知道有没有影响,先不管吧,毕竟有//注释.

进到数据库看了一下,4个不同主机的root都是有密码的,

而任意用户的权限只有USAGE,授权也是否,

对于USAGE权限之前基本就忽略了,没有了解过,在phpmyadmin里面显示是无权限,

刚查了一下,貌似可以无密码链接数据库,但是只能在本地,

具体想了解清楚就要翻mysql的文档,了解权限体系,

暂时没时间,先不管了,因为这个地方之前也没出过问题.

新建了一个数据库用户,分配了一个密码,把网站链接配置文件改了,

让小伙伴再试,网站后台可以正常进入,里面文章也是看得到的,

然后我把网站配置文件里面数据库密码删了,小伙伴表示一切正常,

然后我把网站配置文件里面数据库用户名也删了,小伙伴同样表示一切正常,

这个时候我已经震惊了,

当然有可能是我孤陋寡闻,毕竟第一次处理这种问题,

这个时候有几种情况,

1,配置文件根本就不是这一个,
2,这个更离谱,我一直进的网站目录就是错的,
3,域名没有绑到这个主机,
4,使用了其他用户名连接到数据库
5,任意用户USAGE权限问题
6,缓存问题

1,这个很有可能
2,反复看了一下,也进到网站后台去看了,确实没错
3,从IP和域名进来完全一样的
4,这个也有可能
5,这个也有可能
6,清了浏览器和网站缓存还是一样

这时我注意到,数据库里面是有一个debian-sys-maint用户的,而且权限很高,

这个用户好像是系统原来就有的,不是道是不是从这个用户访问的,

我把这个用户的权限去掉,一切还是正常,

说来说去,最后要么是配置文件问题,要么是mysql权限我没理解透,

暂时先记在这里,早上还要上班.

打赏

Add comment

4 + 4 =

不去在乎结果,热情地付出过,就好了.
某一天,你所坚持的,和承担过的一切,会有回应。它们并非失去踪迹,只是需要时间抵达。这和星光落入眼睛里,是一样的道理。

近期文章

近期评论