使用mysqlfrm恢复frm表结构的方法

1、mysqlfrm安装

由于mysqlfrm是mysql-utilities工具一部分,那么我们安装mysql-utilities即可,下载好对应的源码包,进行编译安装

shell> wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz

shell> tar -xvzf mysql-utilities-1.6.4.tar.gz shell> cd mysql-utilities-1.6.4shell> python ./setup.py buildshell> python ./setup.py install

安装完成后,在相应的python执行目录下,就能mysqlfrm等执行文件了。

2、mysqlfrm相关参数介绍

--basedir :如 --basedir=/usr/local/percona-5.6.21--server : 如 --server=user:password@192.168.1.100:3306--diagnostic : 开启按字节模式来恢复frm结构--user :启动MySQL用户,通过为mysql

3、mysqlfrm使用

使用--basedir模式恢复:

[ 16:35:29-root@br3cy1sw:~ ]# mysqlfrm --basedir=/usr/local/percona-5.6.21/ /root/t1.frm --port=3434 --user=mysql --diagnostic# WARNING The --port option is not used in the --diagnostic mode.# WARNING: The --user option is only used for the default mode.# WARNING: Cannot generate character set or collation names without the --server option.# CAUTION: The diagnostic mode is a best-effort parse of the .frm file. As such, it may not identify all of the components of the table correctly. This is especially true for damaged files. It will also not read the default values for the columns and the resulting statement may not be syntactically correct.# Reading .frm file for /root/t1.frm:# The .frm file is a TABLE.# CREATE TABLE Statement:CREATE TABLE `root`.`t1` (`a` int(11) NOT NULL,`b` int(11) DEFAULT NULL,`c` int(11) DEFAULT NULL,`d` varchar(600) DEFAULT NULL,PRIMARY KEY `PRIMARY` (`a`),KEY `idx_t1_bc` (`b`,`c`)) ENGINE=InnoDB;    #...done.

使用--server方式恢复:

[ 16:35:10-root@br3cy1sw:~ ]#mysqlfrm --server=user:password@192.168.1.100:3306 /root/t1.frm --port=3434 --user=mysql --diagnosticWARNING: Using a password on the command line interface can be insecure.# WARNING The --port option is not used in the --diagnostic mode.# WARNING: The --user option is only used for the default mode.# Source on 192.168.1.100: ... connected.# CAUTION: The diagnostic mode is a best-effort parse of the .frm file. As such, it may not identify all of the components of the table correctly. This is especially true for damaged files. It will also not read the default values for the columns and the resulting statement may not be syntactically correct.# Reading .frm file for /root/t1.frm:# The .frm file is a TABLE.# CREATE TABLE Statement:CREATE TABLE `root`.`t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL,`d` varchar(200) COLLATE `utf8_general_ci` DEFAULT NULL,PRIMARY KEY `PRIMARY` (`a`),KEY `idx_t1_bc` (`b`,`c`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;    #...done.

注意到没有,使用--basedir恢复出来的varchar竟然是--server模式的3倍;这应该是mysqlfrm在使用basedir模式时,无法进行字符编码校验所致引起的。

(0)

相关推荐

  • ECSHOP数据库MYSQL现有数据表增加新的字段

    执行查询语句: ALTER TABLE `ec_order_info` ADD COLUMN `trade_no`  varchar(100) NOT NULL DEFAULT '' AFTER `p ...

  • MySQL通过自定义函数实现递归查询父级ID或者子级ID

    背 景: 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度, 那么所有节点为根的树的深度均不会超过树的最大深度,则我们可以直接通过left join来实现. 但很多时候我们是无 ...

  • 简单有效的英语单词分类表 巧记方法, 让孩子爱上背单词!

    13个简单有趣的记忆方法 1读音记忆 根据字母组合.读音规则进行记忆,会读一个单词,便会拼写出来.外来语:中文中有许多词来自英语,这些词的发音近似英语. 如:tank坦克,jeep吉普车,coffee ...

  • 船舶柴油机光能表故障溯源方法

    进入电控主机时代以后,在设计开发阶段,传统机型中被广泛采用的机械式仪表逐渐被光能表所取代.作为一款高集成度的仪表,光能表自带一块光电池,可以在大于50Lux照度下持续工作,被用于排气温度.缸套水温度和 ...

  • Win10如何备份或恢复注册表

    注册表是Windows系统中的一个重要数据库,记录着程序和软件的相关运行信息,注册表出现错误,程序就会出错无法运行,所以在修改注册表时都会建议用户先备份一下注册表,下面我们以Win10系统为例,看下W ...

  • Win10如何备份或恢复注册表(3)

    Win10恢复注册表: 方法一: 1.打开注册表编辑器,点击"文件"菜单,选择"导入",然后在"导入注册表"窗口中选择之前备份的reg文件. ...

  • Win10如何备份或恢复注册表(2)

    Win10备份注册表中的某一项(某个分支): 但注册表很庞大,而你修改的只是其中项,所以通常没有必要备份整个注册表,只需备份你修改的那一项即可. 1.在注册表编辑器中选中需要备份的项,在该项上点击右键 ...

  • 万用表和摇表的使用方法,别再不会了!

    万用表又叫多用表.三用表.复用表,是一种多功能.多量程的测量仪表,一般万用表可测量直流电流.直流电压.交流电压.电阻和音频电平等,有的还可以测交流电流.电容量.电感量及半导体的一些参数(如β). 交流 ...

  • 详解四款高腰裙子的结构制图方法

    裙子的腰位:有低腰:齐腰:中腰:高腰四种状态.从工艺上又可分为绱腰裙和连腰裙.绱腰裙需裁腰头(双层,对于低腰裙和齐腰裙要配弧型腰头,臀部一般都贴体设计:对于中腰裙配直型腰头),连腰裙需配腰里. 来源 ...

  • 中医无急救?这误会可深了!四针下去,几近休克的病人奇迹恢复!国医大师急救方法汇总

    视频:鬼门十三针 先从前几年的一个新闻说起: 事情发生在上个月月底,厦门开往北京的G324列车上.一名60多岁的男性乘客突发疾病,瘫倒在靠窗的座位上,患者已服用硝酸甘油.现场西医大夫已测不到血压,列车 ...

  • 专利连载8:一种具有闸站防喷涌构造的土压平衡盾构结构及方法

    本发明公开了一种具有闸门防喷涌构造的土压平衡盾构结构及方法,结构包括刀盘.前盾.主驱动.中盾.盾尾.推进油缸和螺旋输送机:推进油缸顶在管片前端面上,刀盘背后设置土舱,土舱后面设置主驱动:土舱的下部开口 ...