使用mysqlfrm恢复frm表结构,获得建表语句

1、mysqlfrm 是一个恢复性质的工具,用来读取.frm文件并从该文件中找到表定义数据生成CREATE语句。

  下载链接:https://downloads.mysql.com/archives/utilities/

  由于mysqlfrm是mysql-utilities工具一部分,我们在Windows里面安装mysql-utilities即可;在安装目录下,会有各种命令;

  

  centos7安装:

    (1) rpm -ivh mysql-connector-python-2.1.7-1.el7.x86_64      #这里用mysql-connector-python-2.1.7

        链接地址:https://downloads.mysql.com/archives/get/file/mysql-connector-python-2.1.7-1.el7.x86_64.rpm

    (2) rpm -ivh mysql-utilities-1.6.5-1.el7.noarch.rpm

        链接地址:https://downloads.mysql.com/archives/get/file/mysql-utilities-1.6.5-1.el7.noarch.rpm

    注意: 尽量不要通过yum来安装mysql-utilities;而且mysql-utilities 1.6.5和mysql-connector-python 8.0.12在一起有问题!

2、mysqlfrm相关参数介绍

   man mysqlfrn    #用此命令查看具体帮助

  --basedir :如 --basedir=/usr/local/percona-5.6.21

  --server : 如 --server=user:password@192.168.1.100:3306;user:mysql登录mysql的用户名,password:登录mysql的密码

  --diagnostic : 开启按字节模式来恢复frm结构

  --user :启动MySQL用户,通过为mysql,

  使用--server方式恢复:

  D:\MySQLMySQL Utilities 1.6>mysqlfrm --server=root:root@127.0.0.1:3306 d:\yiming.wei\Desktop\gonggao.frm --port=3434 --user=mysql --diagnostic

  注:root:root@127.0.0.1:3306 :第一个root是我的mysql用户名,第二个root是mysql密码;

         d:\yiming.wei\Desktop\gonggao.frm:frm文件的位置;

    --port=3434:这个固定使用3434即可

    --user=mysql --diagnostic:固定使用即可

3、执行结果

  Windows,这里可能因为编码格式等原因,产生了乱码

  

  centos7,Linux里面一切正常

  

   也可以直接用--diagnostic参数:

     mysqlfrm  --diagnostic /xxx/xxx/xxx.frm
posted @ 2019-01-17 10:40  米兰的小铁將  阅读(1598)  评论(0编辑  收藏  举报