Mysql
如何正確備份 mediawiki 數據庫 (mysql) 而不會弄亂數據?
我想使用 mysqldump 備份儲存在 MySQL 伺服器 5.1.36 中的 mediawiki 數據庫。
大多數 wiki 文章都是用西班牙語編寫的,並且不想通過使用錯誤的字元集創建轉儲來搞砸它。
mysql> status -------------- ... Current database: wikidb Current user: root@localhost ... Server version: 5.1.36-community-log MySQL Community Server (GPL) .... Server characterset: latin1 Db characterset: utf8 Client characterset: latin1 Conn. characterset: latin1 ...
使用以下命令:
mysql> show create table text;
我看到 table create 語句將字元集設置為binary:
CREATE TABLE `text` ( `old_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `old_text` mediumblob NOT NULL, `old_flags` tinyblob NOT NULL, PRIMARY KEY (`old_id`) ) ENGINE=InnoDB AUTO_INCREMENT=317 DEFAULT CHARSET=binary MAX_ROWS=10000000 AVG_ROW_LENGTH=10240
我應該如何使用 mysqldump 為該數據庫正確生成備份?
mysqldump
並且show create table
通常是非常可靠的主力,不應自行更改編碼。如果他們使用“二進制”字元集,很可能實際上是給表的字元集(但不一定是columns)。您可以在數據庫瀏覽器中重新檢查目前表字元集嗎?我會嘗試一個簡單、簡單
mysqldump
的文件,將轉儲恢復到鏡像數據庫中,並仔細查看特殊字元。與使用 phpMyAdmin 進行的備份不同,根據我的經驗,來自命令行的備份往往效果很好。