北京中科医院诈骗曝光 https://m.39.net/baidianfeng/a_5154116.html作者:姚远专注于Oracle、MySQL数据库多年,Oracle10G和12COCM,MySQL5.6,5.7,8.0OCP。现在鼎甲科技任顾问,为同事和客户数据库培训和技术支持服务。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景很多时候因为MySQL数据库不能启动而造成数据无法访问,但应用的数据通常没有丢失,只是系统表空间等其它文件损坏了,或者遇到MySQL的bug。这个时候如果没有备份,很多人就以为数据丢失了,但实际上大部分时候数据还是有救的。对于MyISAM引擎的表空间,直接把对应的数据文件拷贝到一个新的数据库就行了,数据就可以恢复了。对于InnoDB引擎的数据库表空间可以采用传输表空间的方式把数据救回来。创建已经丢失的表结构先要安装mysql-utilities。//RedHatyum-yinstallmysql-servermysql-utilities//Debianaptinstallmysql-utilities使用mysqlfrm从.frm文件里面找回建表语句。//分析一个.frm文件生成建表的语句mysqlfrm--diagnostic/var/lib/mysql/test/t1.frm//分析一个目录下的全部.frm文件生成建表语句rootusername:~#mysqlfrm--diagnostic/var/lib/mysql/my_db/bk/createtb.sqlrootusername:~#grep^CREATETABLEcreatetb.sql
wc-l可以看到一共生成了个建表语句。有很多时候也可以从其它库里面生成建表语句,如同一个应用的其它数据库或不同的测试环境,采用下面的mysqldump生成建表语句:mysqldump--no-data--
转载请注明:http://www.aierlanlan.com/rzgz/7810.html