Mysql InnoDB储存过程恢复:
服务器意外断电导致数据丢失,只能靠物理文件来恢复;
我的mysql储存引擎是InnoDB,mysql安装在C盘中;如果安装在D盘,需去D盘找(D:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql)
服务器中所有的储存过程与function都保存在C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql下的proc.MYD,proc.MYI中
建议先到本机mysql中操作
本机步骤:1、新建schema testname;
2、断开本机mysql服务;
3、把服务器中 ProgramData\MySQL\MySQL Server 5.7\Data\mysql中找到proc.frm,proc.MYD,proc.MYI文件copy复制在testname下;
4、重启mysql服务;
5、刷新MySQL,可以在testname下找到pro表格,执行SELECT * FROM testname.proc;,可以看到你之前的数据库中哪些schema存在哪些储存过程与function;
6、然后在新建proc中的出现的Scheama名;
7、随便在某一个schema新建一个储存过程,在本机的ProgramData\MySQL\MySQL Server 5.7\Data\mysql找到proc.MYD,proc.MYI,更新时间为当前时间,这样就证明你的储存过程在proc.MYD,proc.MYI中
8、关闭mysql服务;
9、将服务器中的proc.MYD,proc.MYI替换本地的文件;
10、打开本地mysql服务;
11、刷新mysql,就可以看到自己新建的schema下都恢复了储存过程与function