MySQL数据库损坏
发布时间:
更新时间:
🕒 阅读时间:3 min read
👀 阅读量:Loading...
1. 问题出现
遇到的这个问题是因为突然停电,由于电脑是一个台式机导致电脑突然关机,就导致了MySQL数据库损坏的问题(无法启动)

2. 解决方式
[!warning]
首先备份首先备份MySQL的data文件夹!!!!!!!!!!!!!!

在MySQL中每一个数据库在data文件夹下的体现就是一个目录。我们要恢复数据库时就是使用每个文件夹下的xxx.idb文件,
每个idb文件其实就是一个数据库表。
3. 开始恢复
-
新找一台电脑,另一个数据库,我们称之为目标数据。
-
在目标数据库中创建一个新的数据库并创建数据库表,要求
创建的数据库表的结构和需要恢复的数据库表一致 -
创建好新数据库表之后使用下面的命令删除
新建表的表空间ALTER TABLE tableName DISCARD TABLESPACE; -
将备份好的.idb文件复制到目标数据库
数据文件夹(data)下,并使用以下命令导入表空间恢复数据库即可ALTER TABLE tableName IMPORT TABLESPACE;
4. 恢复损坏的MySQL数据库(其实就是重新初始化,重新安装了)
找到data目录,没有就创建一个,有就清空data目录下的内容

-
删除MySQL服务
cmd进入到数据库bin目录下,执行删除服务命令
Terminal window mysqld --remove mysql -
重新安装服务
mysqld --install mysql -
初始化data
Terminal window mysqld --initialize-insecure -
启动服务
Terminal window net start mysql -
修改密码
以管理员身份打开三个cmd窗口
-
窗口1执行以下命令
Terminal window net stop mysqlmysqld --console --skip-grant-tables --shared-memory -
窗口2执行以下命令
Terminal window mysql -u root -p # 回车,这时候会让你输入密码,无需输入直接回车即可use mysqlupdate user set authentication_string='' where user='root'; -
窗口3(关闭窗口1和窗口2)
Terminal window net start mysqlmysql -u root -p # 回车即可,无需输入密码ALTER USER 'root'@'localhost' IDENTIFIED BY '修改的密码';
到此密码修改结束,可以连接数据库试试了。
-
-
将在第三步恢复好的数据库导出一个sql文件,恢复到重新初始化安装修复好的数据库上就可以了。
留言评论