关于xammp数据库打开不了,但是日志没错误的问题解决以及其数据库的备份
这里参考了两篇文章
解决Xampp中mysql无法启动的问题_xampp里面mysql的stop启动不起来-CSDN博客
mysqli_real_connect(): (HY000/1045): Access denied for user ‘root‘@‘localhost‘ (using password: YES-CSDN博客
相信很多和我一样,很久没登xammp突然数据库打不开,但是日志没有报错,看了一些文章,估计就是因为一些莫名的原因导致数据库数据损坏 ,接下来开始解决
先将mysql下的data数据全部备份
然后删除data,新建data文件夹找到mysql安装目录下的bin目录,运行:
mysql_install_db
这样就将数据库初始化了,此时默认的用户是root,并且是没有设置密码的,这时候phpmyadmin可以登入了,然后把我项目的数据库(secondhand_db)和ibdata1复制过去,这里可能会有一个问题,这时候我报错了mysqli_real_connect(),解决办法看分享的第二篇文章
这时候可能有个诡异的错误,什么错误?就是看似你的数据库可以登入,而且你的项目数据库也可以显示 ,但是项目数据库中的表显示没有表!这里就是但InnoDB 引擎的元数据丢失或不一致,MySQL 无法识别表。这就是直接复制文件夹的缺点!
但是为什么说诡异呢???因为当时我直接将备份的所有数据库文件夹复制到data下面,它这时候肯定还是报错,所有当时我就ctrl+z还原了,然后就有用了!但是我懒得重新删了数据库再尝试一遍,所有我猜测这个方法还是有用,只是有点吃运气
所以备份数据库不能直接备份文件夹,直接备份sql文件,这样哪怕mysql又打不开了,直接重置数据库,然后sql一键导入就行,导出数据库的sql文件也简单
先选你要导出的数据库,然后导出
然后导出
这问题搞了我很久,我第一次碰见这问题的时候甚至直接删了xammp,然后导致我的项目源码都删了(没有备份),导致我重新开发一遍,这是第二次,本来都准备重新建数据库,没想到意外成功了,备份很重要!!!!