mysql的一個工具 mysql-utilities

mysql-utilities是mysql的一個工具集合,它是基於----- python2 --- 實現的,從官網查看到最新版本爲mysql-utilities-1.6.5.tar.gz
編譯安裝
    wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
    tar xvf mysql-utilities-1.6.5.tar.gz
   cd mysql-utilities-1.6.5
   python setup.py build
   python setup.py install
   mysqldiff --version

1 mysqlfrm 能夠抽取frm文件裏面的表結構
mysqlfrm 有兩種操做模式。默認的模式是再生個實例,使用--basedir選項或指定--server選項來鏈接到已經安裝的實例。這種過程不會改變原始的.frm文件。
該模式也須要指定--port選項來給再生的實例使用,該端口不能與現有的實例衝突。在讀取.frm文件後,再生的實例將被關閉,全部的臨時文件將被刪除的。 另外一個模式是診斷模式,--diagnostic 選項。byte-by-byte讀取.frm文件 儘量多的恢復信息。該模式有更多的侷限性,不能校驗字符集。 當使用默認模式沒法讀取文件或者該服務器上沒有安裝MySQL實例就使用診斷模式。

 

#
/tmp/backup/2019-08-27_17-32-55/dstdata 是經過innodbbackupex備份的目錄,first是其中的一個表

[root@localhost mysql-utilities-1.6.5]# mysqlfrm --diagnostic /tmp/backup/2019-08-27_17-32-55/dstdata/first.frm
 # 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 /tmp/backup/2019-08-27_17-32-55/dstdata/first.frm: # The .frm file is a TABLE. # CREATE TABLE Statement: CREATE TABLE `dstdata`.`first` ( `id` int(11) DEFAULT NULL, `name` char(16) DEFAULT NULL ) ENGINE=InnoDB; #...done.
相關文章
相關標籤/搜索