mysql after delete database reclaim-mysql-disk-space

943 ワード

1)SQLData.sqlと呼ばれるすべてのデータベースをSQLテキストファイルにダンプ
2)すべてのデータベースを削除(mysqlモードを除く)
3)mysqlを閉じる
4)以下の行を/etc/myに追加する.cnf
[mysqld]
innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_log_file_size=1G
innodb_buffer_pool_size=4G

コメント:innodb_にかかわらずbuffer_pool_sizeは何を設定してinnodb_を確保しますlog_file_sizeはinnodb_buffer_pool_sizeの25%.
5)ibdata 1,ib_を削除logfile 0とib_logfile1
この場合、/var/lib/mysqlにmysqlモードのみ
6)MySQLの再起動
ibdata 1,ib_は10 MBで再作成されます.logfile 0とib_logfile 1各1 G
7)SQLData.sqlをMySQLに再ロード
ibdata 1は増加しますが、テーブルメタデータのみが含まれます.
各InnoDBテーブルはibdata 1の外部に存在します
mydbという名前があるとしますmytableのInnoDBテーブル./var/lib/mysql/mydbに入ると、テーブルを表す2つのファイルが表示されます.
mytable.frm(ストレージエンジンヘッド)mytable.ibd(mydb.mytableのテーブルデータとテーブルインデックスのホームページ)ibdata 1には、InnoDBデータとインデックスは含まれません.
使用/etc/my.cnfのinnodb_file_per_tableオプション、OPTIMIZE TABLE mydbを実行できます.mytable,ファイル/var/lib/mysql/mydb/mytable.ibdは実際に縮小します.