1、mysqlfrm安装

-----------------------------

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

shell> cd mysql-utilities-1.6.4

shell> python ./setup.py build

shell> 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 --diagnostic

WARNING: 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模式时,无法进行字符编码校验所致引起的。

再次看了下--server的文件:(重点看标红加粗的文字),建议:能用--server模式时,尽量使用--server同时保证提供mysqld环境与原生产环境的一致。--server=server

Connection information for a server. Use this option or --basedir for the default mode.

If provided with the diagnostic mode, the storage engine and character set information are validated against this server.

上面的内容就是使用mysqlfrm恢复frm表结构的方法 的详细文章内容,更多文章请各位关注学猫在线其它相关文章!

本文来源:http://m.php.cn/article/380317.html

frm mysql触发器_使用mysqlfrm恢复frm表结构的方法相关推荐

  1. MySQL的MyISAM和InnoDB存储引擎表结构

    MySQL的MyISAM和InnoDB存储引擎表结构: MyISAM存储引擎: MyISAM表:每一个表都有3个文件,都位于数据库目录中. tb_name.frm 表结构定义 tb_name.MYD ...

  2. java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解

    摘要:这篇MySQL栏目下的"MYSQL数据库表结构优化方法详解",介绍的技术点是"mysql数据库表结构.MySQL数据库.数据库表结构.MySQL.据库表结构.数据库 ...

  3. mysql 去重主表数据,两张表结构相同数据(百万级别)

    这里写自定义目录标题 mysql 去重主表数据,两张表结构相同数据(百万级别) 得到两张表的并集,查出主表在并集中出现的主键id 删除主表中重复的id,根据上面sql查出的数据 2.一部删除到位 my ...

  4. mysql frm 恢复_mysql 从 frm 文件恢复 table 表结构的3种方法

    mysql 正常运行的时候,查看 table 的结构并不是困难的事. 但是有时 mysql 发生故障,这种方法便不再可行. 当遇到故障,通常使用新的 mysql 实例来恢复当前的数据. 建表是非常重要 ...

  5. mysql 还原 批量ibd_MySQL只有.frm和.ibd文件如何批量恢复InnoDB表-爱可生

    作者:姚远 专注于 Oracle.MySQL 数据库多年,Oracle 10G 和 12C OCM,MySQL 5.6 ,5.7,8.0 OCP.现在鼎甲科技任顾问,为同事和客户提高数据库培训和技术支 ...

  6. mysql frm恢复数据_MYSQL使用.frm恢复数据表结构的实现方法

    我们都知道当我们建立数据表(innodb或myisam)时,会生成相应的文件(如:MYD,MYI,frm) 在这里,我们探讨下使用frm文件恢复 innodb和myisam类型表的结构,不过由于他们存 ...

  7. c语言 mysql触发器_数据库触发器 @符号

    8. 函数 内置函数 聚合函数 对一组值进行运算,但返回一个汇总值. AVG 返回组中各值的平均值. 其中忽略 Null 值. CHECKSUM_AGG 返回组中各值的校验和. 将忽略 Null 值. ...

  8. MySQL可以同时修改两个表吗_(10)MySQL触发器(同时操作两张表)

    什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合.触发器的这种特性可以协助应用在数据库端确保数据的完整性. 举个例子,比如你现在有两个表[用户表]和[日志 ...

  9. (10)MySQL触发器(同时操作两张表)

    什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合.触发器的这种特性可以协助应用在数据库端确保数据的完整性. 举个例子,比如你现在有两个表[用户表]和[日志 ...

  10. mysql创建复杂表_数据库_MySQL_复杂的表结构创建

    本例示例下复杂的表结构创建, 大致分为两张表 user表 和 authority(权限表) 每个用户对应一种权限,默认为1(普通用户)  灵感来源:(仿照 进程的优先级, 优先级越高的进程,数字越小) ...

最新文章

  1. 谁说AI无用?疫情下,AI已经代替人类做了很多...
  2. 我是这样分析Linux性能问题的
  3. 2 数据源配置_如何在程序运行中动态切换数据源?架构师必读秘笈
  4. dlsym 如何查看一个so里面的_如何查看并且使用android系统本身包含的so库?
  5. java使用jacob语言实现阅读文字,文字转语音
  6. 【钛坦白】榛杏科技CEO周开宇:ICO和区块链的创新方向选择
  7. 动态网页程序设计报告(留言板)
  8. 起源故事:瓮城、沙盒与可信计算
  9. JAVA 滑块拼图验证码
  10. kvm虚拟机日常操作命令梳理
  11. 进qq空间显示服务器失败,QQ空间找不到服务器-进空间找不到服务器的解决办法...
  12. python3 unicode_关于你不想知道的所有Python3 unicode特性
  13. python找与7相关的数字_Python 入门系列 —— 7. 数字类型介绍
  14. 入驻快手小店需要什么条件?快手小店如何开通?
  15. Fuchsia OS简介
  16. 实现JSON在线美化(格式化)、JSON转CSV、CSV转XML工具-toolfk程序员工具网
  17. jmeter优化记录文档
  18. Hadoop,master和slave简单的分布式搭建
  19. 轻松矿工没有内核_使用内核迁移器可以轻松进行SharePoint迁移
  20. 华硕B250M主板安装win7

热门文章

  1. 【Burp suite】intruder内的四种攻击模式(attack type)分析!
  2. JAVA小功能手机短信发送
  3. UnityShader笔记第三课-MVP矩阵原理-M矩阵
  4. Python(十)函数
  5. python打印日历_python 打印日历
  6. big_6d77fbb7bde4011fdf01df45fef8d0dd9ddcbdd5.jpg
  7. 【桶哥的问题——吃桶-简化版】【洛谷p2671】求和
  8. 日立6TB充氦硬盘详细规格、实物照片
  9. 服务器停止响应是什么意思,该如何排查?
  10. 高频PCB设计设计技巧简述