关于PHP打开之后找不到数据库问题的记录
昨天发现了一个奇怪的问题,一直正常使用的某个网站打不开了,这个网站是PHP写的,数据库用的my sql。打开之后就提示密码错误,无法正常打开页面。
由于平时基本上没用过my sql,按照使用sql server的套路,认为就是密码被改了,但是问了一圈没有人动过这个数据库。这就奇怪了,只有远程进去看一下是哪里的问题。
首先根据网站提示,去看来一下my sql的登录密码,发现登录密码果然跟网站配置文件里面密码不一致(此处掉坑)。以为是谁不小心改的配置文件,就没在意。去修改了一下网站的配置文件,然后打开网站,网站页面能加载了,但是所有数据都显示不了,并且提示无权限访问XXX表。这种情况是能打开my sql,但是找不到数据库。没办法,通过php study自带的mysql front去打开my sql数据库查看,发现数据库竟然没了,只有三个默认的数据库。这就很奇怪了,难道是硬盘问题导致数据被删掉了?
最后另外一个同事重启了mysql的服务,竟然恢复正常了,而且my sql的密码还是原来的密码,没有变更,那我刚才登录的难道是一个假的my sql?
最终,终于找到了原因。原来这台服务器上面有两个my sql,一个是之前安装的,就是我启动的那个,从没有使用过,所以里面没有数据库。另外一个是网站使用的,应该是由于服务器异常导致my sql被停用,然后我把不在用的空数据库的那个给启动,导致读取不到数据库。
总结:如果一台服务器上面装了多个my sql ,一定要启动的是否是在用的。