zoukankan      html  css  js  c++  java
  • (转)MySQL管理工具MySQL Utilities — mysqlfrm (26)

    原文:http://www.ttlsa.com/mysql/mysql-utilities-mysqlfrm/

    mysqlfrm 是一个恢复性质的工具,用来读取.frm文件并从该文件中找到表定义数据生成CREATE语句。在大多数情况下,生成的CREATE语句用于在另一个服务器上创建表或进行诊断等。然而,有些功能是不保存在.frm文件中的,因此这些功能将被忽略的。如:

    • 外键约束
    • 自增长序列

    mysqlfrm 有两种操作模式。默认的模式是再生个实例,使用--basedir选项或指定--server选项来连接到已经安装的实例。这种过程不会改变原始的.frm文件。该模式也需要指定--port选项来给再生的实例使用,该端口不能与现有的实例冲突。在读取.frm文件后,再生的实例将被关闭,所有的临时文件将被删除的。

    另一个模式是诊断模式,需要指定 --diagnostic 选项。byte-by-byte读取.frm文件 尽可能多的恢复信息。该模式有更多的局限性,不能校验字符集。

    当使用默认模式无法读取文件或者该服务器上没有安装MySQL实例就使用诊断模式。

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

    可以指定数据库名称用来产生CREATE语句,格式如下:database_name:table_name.frm,如:oltp:t1.frm。可选的数据库名称也可以使用路径,如 /home/me/oltp:t1.frm,将使用oltp作为数据库名。如果省略了数据库名称和路径,最后的一个文件夹将作为数据库名称的。如 /home/me/data1/t1.frm,data1将作为数据库名。如果不想最后的文件夹作为数据库名,只需指定冒号,如 /home/me/data1/:t1.frm,在这种情况下,CREATE语句将忽略数据库。

    选项

     注意

    1. 某些引擎表在默认模式下不可读取的。如PARTITION, PERFORMANCE_SCHEMA,必需在诊断模式下可读。

    2. 要在创建语句中改变存储引擎,可使用--new-storage-engine 选项。如果有指定该选项,同时必须指定--frmdir选项,该工具生成新的.frm文件,前缀为new_,并保存在--frmdir目录下。

    3. 关掉所有信息除了CREATE 语句和警告或错误信息,使用--quiet选项。

    4. 使用--show-stats 选项统计每个.frm文件信息。

    5. 使用--user 选项指定再生的实例以哪个权限运行。

    6. 如果再生的实例超过10秒启动,需调大--start-timeout 选项参数。

    实例

    看看执行过程反过头去看看上面所说是否正确。

    /data/mydata3306/ttlsa_com/data.frm 数据库名为ttlsa_com;

    /data/mydata3306/mysql/bbs_ttlsa_com:user.frm 数据库名为bbs_ttlsa_com。

    诊断模式读取目录中的所有的FRM文件:

    权限

    权限取决于如何使用mysqlfrm。统一用root账号就好了。

    如果要连接服务器,需要对mysql数据库读权限。

    技术链接
  • 相关阅读:
    MySQL分区和分布性能测试[转]
    在独立的javascript文件中获取当前项目的http路径
    解决在OFFICE平台传输数据慢的问题,使用GZIP+JSON替代WEBSERVICE提供数据
    开发流程与各层软件选型
    [转]Linux下shell的工作原理
    C# 3.0中的操作符=>
    [转]Linux用户口令的管理
    Linux基本命令篇 网络管理
    [转]Linux查看磁盘使用情况命令
    恢弘的钢琴曲《出埃及记》
  • 原文地址:https://www.cnblogs.com/liujiacai/p/14743282.html
Copyright © 2011-2022 走看看