mysqldump
を次のシステムにインポートしようとしています:
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
# rpm -qa | grep ^mysql
mysql-community-libs-compat-5.7.11-1.el7.x86_64
mysql-community-libs-5.7.11-1.el7.x86_64
mysql57-community-release-el7-7.noarch
mysql-community-client-5.7.11-1.el7.x86_64
mysqltuner-1.6.0-1.el7.noarch
mysql-community-server-5.7.11-1.el7.x86_64
mysql-community-common-5.7.11-1.el7.x86_64
#
まだ、私は次のエラーが出ます:
# mysql X < ~/X.mysqldump
ERROR 1031 (HY000) at line 13639: Table storage engine for 'Y' doesn't have this option
#
Y
のmysqldump
テーブル:(機密情報をZ
sに置き換えました):
DROP TABLE IF EXISTS `Y`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Y` (
`Z` int(10) NOT NULL AUTO_INCREMENT,
`Z` int(10) NOT NULL DEFAULT '0',
`Z` int(10) NOT NULL DEFAULT '0',
`Z` tinyint(1) NOT NULL DEFAULT '0',
`Z` tinyint(1) NOT NULL DEFAULT '1',
`Z` int(10) NOT NULL DEFAULT '0',
`Z` datetime DEFAULT NULL,
`Z` datetime DEFAULT NULL,
PRIMARY KEY (`Z`),
KEY `Z` (`Z`),
KEY `Z` (`Z`),
KEY `Z` (`Z`),
KEY `Z` (`Z`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED COMMENT='InnoDB free: 8192 kB; (`Z`) REFER `Z/';
/*!40101 SET character_set_client = @saved_cs_client */;
/etc/my.cnf
はすべてデフォルトですが、次の行を追加しました。
# tail -1 /etc/my.cnf
innodb_buffer_pool_size = 64G
#
また、ここは完全です mysql> SHOW VARIABLES LIKE 'innodb%'; スタック。
先に進みます MySQL :: MySQL 5.7リファレンスマニュアル:: 14.4 InnoDB構成 ですが、明らかに何か不足しています...
お知らせ下さい。
ありがとう!
MySQL 5.7では、ROW_FORMAT=FIXED
はInnoDBストレージエンジンのオプションではなくなりました。
MySQL 5.7ドキュメント innodb_default_row_format によると、これらはテーブルの行フォーマットに使用できる値です:
DYNAMIC
、COMPACT
、REDUNDANT
はデフォルト値として使用できますCOMPRESSED
はデフォルト値に許可されていませんが、明示的にROW_FORMAT=COMPRESSED
を使用できますMySQL 5.7ドキュメントでは、InnoDBのROW_FORMAT=FIXED
についての言及はありません。
空の列の値は、埋められた列の値と同じ記憶域を占有しますか? と題して、約8か月の投稿への回答を書きました。これは、COMPACT
とREDUNDANT
の違いを説明しています。ダンプ定義で、ROW_FORMAT=COMPACT
またはROW_FORMAT=REDUNDANT
のいずれかに変更する必要があります。 VARCHAR
列を、ROW_FORMAT=FIXED
がまだ存在しているかのように同じ特性で動作させたい場合は、すべてのVARCHAR
列をCHAR
に変更します。次に、ダンプをロードします。
ROW_FORMAT=FIXED
は本当にMyISAMにメリットがあることを覚えておいてください(私の古い投稿を参照してください どのDBMSが超高速読み取りと単純なデータ構造に適していますか? )
/etc/my.cnfファイルを編集します。
以下にパラメータを追加します。
[mysqld]
innodb_strict_mode=off
今、サーバーを再起動します