我有INNODB TABLE MONITOR OUTPUT,需要從它獲取CREATE TABLE語句。 有誰知道一個可以生成它的工具?從INNODB TABLE MONITOR OUTPUT獲取CREATE TABLE語句的工具?
預先感謝您!
我有INNODB TABLE MONITOR OUTPUT,需要從它獲取CREATE TABLE語句。 有誰知道一個可以生成它的工具?從INNODB TABLE MONITOR OUTPUT獲取CREATE TABLE語句的工具?
預先感謝您!
我不知道可以生成它的工具。下面是你可以用它來搜索表的名稱,併產生了一系列的SHOW的例子shell命令CREATE TABLE命令:
grep '^TABLE: name .*/' <name-of-mysqld-error-log> |
sed -e 's/^/SHOW CREATE /' -e 's/: name/`/' -e 's#/#`.`#' -e 's/,.*/`;/'
這應該變成這樣一行:
TABLE: name test/parent, id 0 13, columns 6, indexes 2, appr.rows 299
進入這個:
SHOW CREATE TABLE `test`.`parent`;
然後收集輸出並將其作爲SQL腳本運行。
另外,您應該意識到,創建特殊命名錶時已激活的InnoDB監視器功能已從MySQL 5.6開始棄用,並從MySQL 5.7中的產品中刪除。
新的信息來源是INFORMATION_SCHEMA。有關從INFORMATION_SCHEMA中檢索信息的示例,請參閱How can I use SHOW CREATE TABLE in a subquery?。
不從表中的顯示器,但你可以從InnoDB的字典生成的表結構:
https://twindb.com/recover-table-structure-from-innodb-dictionary/