MENU

记一次MySQL数据迁移,解决#1932错误

November 30, 2020 • 计算机知识

晚饭后同事让我把一个MySQL的数据库进行迁移,目标数据库已经导出为web_back.sql,并且贴心的上传到服务器中了,这么简单的事情,我当然就答应了。话不多说上来就操作,先看了一下数据库备份文件大概有68MB,心里有点忐忑,会不会出现问题。
打开phpmyadmin,进入数据库,选择导入,选择备份文件,静静的等待,果然出错了。

此时怀疑是环境配置的问题

检查php超时,上传文件限制,输入缓存限制,MySql输入限制,并且修改为较大值。重启MySQL服务,再次导入数据库,依然报错。尝试多次无果。

此时决定换个方式解决,直接复制MySQL文件夹下的数据库文件。

与同事沟通后,把数据库文件夹放入。重启MySQL服务,打开phpmyadmin,看到数据库的表都出现了,感觉好像成了。访问网站,数据果然都跟新了。收工!
然鹅,事情结束了吗,并没有.....
同事打来电话说后台所有功能都不能正常使用,前台二级页面全部不能访问。我一听,这是数据库的锅啊,打开phpmyadmin,随便点开一张表。报错.......
[alt type="error"]#1932 Table doesn't exist in engine[/alt]
百度了一下,说是缺少3个文件:ib_logfile0、ib_logfile1、ibdata1,此时不方便找人要这几个文件,决定换个思路。

在命令行中导入试试

先打开数据库,数据库位置为d:\php\mysql,数据库文件为该文件夹的bin里的mysql.exe
命令为:d: 回车 cd php\mysql\bin 回车进入该目录
输入命令:mysql -u root -p testdata < d:\web_back.sql 回车,提示输入密码,输入密码后无错误信息的话就成功了,稍微等一下。
打开phpmyadmin,随便点开一张表。一切正常,访问网站,正常,进入网站后台正常,收工。

建议把MySQL安装目录下的my.ini文件,添加max_allowed_packet,设置大小为64M。

版权属于:

不吃猫的鱼-记一次MySQL数据迁移,解决#1932错误

本文链接:

https://ax127.fun/52.html (转载时请注明本文出处及文章链接)

Last Modified: March 1, 2021