这个工具也就是读取frm文件生成建表语句
默认的模式是再生个实例,使用--basedir选项或指定--server选项来连接到已经安装的实例。这种过程不会改变原始的.frm文件。该模式也需要指定--port选项来给再生的实例使用,该端口不能与现有的实例冲突。在读取.frm文件后,再生的实例将被关闭,所有的临时文件将被删除的。
诊断模式,需要指定 --diagnostic 选项。byte-by-byte读取.frm文件 尽可能多的恢复信息。该模式有更多的局限性,不能校验字符集;使用默认模式无法读取文件或者该服务器上没有安装MySQL实例就使用诊断模式。
安装
需要先安装mysql-connector-python

wget https://dev.mysql.com/get/Downloads/Connector-Python/mysql-connector-python-2.1.7-1.el6.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/dev.mysql.com/pub/Downloads/MySQLGUITools/mysql-utilities-1.6.5-1.el6.noarch.rpm
wget ftp.pbone.net/mirror/dev.mysql.com/pub/Downloads/MySQLGUITools/mysql-utilities-extra-1.5.6-1.el6.noarch.rpm

使用需要指定.frm文件的路径,也可以指定一个目录,该目录下的所有.frm文件将被读取

 

默认模式
mysqlfrm --server=root:ocm123@localhost --user=root --port=3307  /data/mysql/ht/tb.frm
mysqlfrm --basedir=/usr  --port=3307--user=mysql /data/mysql/ht/tb.frm --show-stats

  

[root@redis01 ~]# mysqlfrm --server=root:ocm123@localhost --user=root --port=3307  /data/mysql/ht/tb.frm
WARNING: Using a password on the command line interface can be insecure.
# Source on localhost: ... connected.
# Spawning server with --user=root.
# Starting the spawned server on port 3307 ... done.
# Reading .frm files
#
# Reading the tb.frm file.
#
# CREATE statement for /data/mysql/ht/tb.frm:
#CREATE TABLE `ht`.`tb` (`id` int(11) NOT NULL,`name` varchar(16) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8#...done.
[root@redis01 ~]# mysqlfrm --basedir=/usr  --port=3307 --user=mysql /data/mysql/ht/tb.frm  --show-stats
# Spawning server with --user=mysql.
# Starting the spawned server on port 3307 ... ERROR Attempting to stop failed spawned server.  Process id = 21404.
ERROR: Spawn server operation failed. Clone server error: Unable to communicate with new instance. Process id = 21404.. To diagnose, run the utility again and use the --verbose option to view the messages from the spawned server and correct any errors presented then run the utility again.
[root@redis01 ~]# mysqlfrm --basedir=/usr  --port=3307 --user=root /data/mysql/ht/tb.frm  --show-stats
# Spawning server with --user=root.
# Starting the spawned server on port 3307 ... done.
# Reading .frm files
#
# Reading the tb.frm file.
#
# CREATE statement for /data/mysql/ht/tb.frm:
#CREATE TABLE `ht`.`tb` (`id` int(11) NOT NULL,`name` varchar(16) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8# File Statistics:
#         Last Modified : Sat Jun 30 10:06:11 2018
#         Creation Time : Sat Jun 30 10:06:11 2018
#         Last Accessed : Sat Jun 30 10:06:11 2018
#                  Mode : 33184
#                  Size : 8586# Table Statistics:
#                Engine : HEAP
#           frm Version : 10
#         MySQL Version : 5.7.22
#      frm File_Version : 5
#               IO_SIZE : 4096
#  Def Partition Engine : None#...done.

View Code

诊断模式
mysqlfrm --diagnostic /data/mysql/ht/tb.frm --show-stats

  

[root@redis01 ~]# mysqlfrm --diagnostic /data/mysql/ht/tb.frm --show-stats
# 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 /data/mysql/ht/tb.frm:
# The .frm file is a TABLE.
# CREATE TABLE Statement:CREATE TABLE `ht`.`tb` (`id` int(11) NOT NULL, `name` varchar(48) DEFAULT NULL,
PRIMARY KEY `PRIMARY` (`id`)
) ENGINE=InnoDB;# File Statistics:
#         Last Modified : Thu Jun 28 05:57:24 2018
#         Creation Time : Thu Jun 28 05:57:47 2018
#         Last Accessed : Fri Jun 29 23:01:23 2018
#                  Mode : 33184
#                  Size : 8586# Table Statistics:
#                Engine : INNODB
#           frm Version : 10
#         MySQL Version : 5.7.22
#      frm File_Version : 5
#               IO_SIZE : 4096
#  Def Partition Engine : None#...done.

View Code

选项
某些引擎表在默认模式下不可读取的。如PARTITION, PERFORMANCE_SCHEMA,必需在诊断模式下可读。
要在创建语句中改变存储引擎,可使用--new-storage-engine 选项。如果有指定该选项,同时必须指定--frmdir选项,该工具生成新的.frm文件,前缀为new_,并保存在--frmdir目录下。
关掉所有信息除了CREATE 语句和警告或错误信息,使用--quiet选项。
使用--show-stats 选项统计每个.frm文件信息。
使用--user 选项指定再生的实例以哪个权限运行。
如果再生的实例超过10秒启动,需调大--start-timeout 选项参数。

转载于:https://www.cnblogs.com/omsql/p/9246302.html

mysqlfrm初步使用相关推荐

  1. TensorRT 7.2.1开发初步

    TensorRT 7.2.1开发初步 TensorRT 7.2.1开发人员指南演示了如何使用C ++和Python API来实现最常见的深度学习层.它显示了如何采用深度学习框架构建现有模型,并使用该模 ...

  2. SOC,System on-a-Chip技术初步

    SOC,System on-a-Chip技术初步 S O C(拼作S-O-C)是一种集成电路,它包含了电子系统在单个芯片上所需的所有电路和组件.它可以与传统的计算机系统形成对比,后者由许多不同的组件组 ...

  3. 《OpenCV3编程入门》学习笔记3 HighGUI图形用户界面初步

    第3章 HighGUI图形用户界面初步 3.1 图像的载入.显示和输出到文件 1.OpenCV命名空间2种访问方法 (1)代码开头加:usingnamespace cv; (2)每个类或函数前加:cv ...

  4. 初步判断内存泄漏方法

    有时候,内存泄漏不明显,或者怀疑系统有内存泄漏,我们可以通过下面介绍的方法初步确认系统是否存在内存泄漏. 首先在Java命令行中增加-verbose:gc参数, 然后重新启动java进程. 当系统运行 ...

  5. android蓝牙4.0(BLE)开发之ibeacon初步

    一个april beacon里携带的信息如下 ? 1 <code class=" hljs ">0201061AFF4C0002159069BDB88C11416BAC ...

  6. 游戏AI之初步介绍(0)

    目录 游戏AI是什么? 游戏AI和理论AI 智能的假象 (更新)游戏AI和机器学习 介绍一些游戏AI 4X游戏AI <求生之路>系列 角色扮演/沙盒游戏中的NPC 游戏AI 需要学些什么? ...

  7. 【转】ibatis的简介与初步搭建应用

    [转]ibatis的简介与初步搭建应用 一.ibatis的简介 ibatis是什么东西就不介绍了,自己去找谷老师. 这里讲下自己的使用体会.之前自己学过Hibernate,是看尚学堂的视频教学的,看完 ...

  8. 初步了解:使用JavaScript进行表达式(De Do Do Do,De Da Da Da)

    by Donavon West 由Donavon West 初步了解:使用JavaScript进行表达式(De Do Do Do,De Da Da Da) (A first look: do expr ...

  9. 存储过程和存储函数初步

    2019独角兽企业重金招聘Python工程师标准>>> 存储过程和函数初步 简单的来说,存储过程就是一条或者多条 SQL 语句的集合,可视为批处理文件,但是其作用不仅限于批处理. # ...

最新文章

  1. ASp.Net控件的生命周期
  2. dos配置java_windows dos命令配置JAVA环境变量
  3. python二次开发攻略-ABAQUS Python二次开发攻略
  4. 成绩不超过100的C语言,输入若干个学生的百分制成绩,计算平均分并输出.输入-1表示结束,若输入的成绩超过100,则需重新输入.c语言...
  5. spring security3 统计在线用户
  6. 深度学习(一)TensorFlow入门教程集合
  7. 解决iText生成pdf文件过大的问题
  8. 什么是业务模式、商业模式、经营模式、盈利模式和发展模式?
  9. 程序员鸡汤_程序员之魂鸡汤
  10. 文本语义表征(Sentence-Bert、Simcse)的应用和实践
  11. 7-1 换硬币(20 分)
  12. android .9图片有黑线,用draw9patch.bat绘制的气泡图片用在Android程序中有黑线,怎么解决?...
  13. Linux技术--mysql数据库增-删-改-查
  14. 关于移动视频直播技术,关键干货都在这里了(三)编码和封装
  15. 热搜!中科大一博士生打印学位论文,分量堪比书籍!可“惨”的是...
  16. 表值函数和标量值函数
  17. 浅谈:支付结算系统的重要性
  18. Game Programming with DirectX -- 08[Mesh]
  19. R语言Excel的读写
  20. 倭黑猩猩机器人_难以置信!倭黑猩猩竟也有助产“护士”

热门文章

  1. 计算机培训word,计算机培训word2010.pptx
  2. win10下安装Debain Linux子系统
  3. Wifi热点java_用笔记本电脑开启热点Java小程序
  4. 【开发教程9】疯壳·开源蓝牙心率防水运动手环-心率监测
  5. i.MX6ULL GPIO
  6. 计算机无法用u盘重装系统,电脑进不了系统怎么用u盘重装系统?
  7. python打开文件写入内容_python-11 文件的打开和写入
  8. TVS和一般的稳压二极管有什么区别? (转)
  9. python自动化通知webhook接口代码参考
  10. 2005 最新GIS地理信息系统软件