如何正确备份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;

我看到表create语句将charset设置为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通常都是非常可靠的工作,不应该自己改变编码.如果他们使用“二进制”字符集,那么实际上可能是给表的字符集(不一定是列).您可以在数据库浏览器中重新检查当前表字符集吗?

我会尝试一个简单,简单的mysqldump到一个文件中,将转储恢复到镜像数据库,并仔细查看特殊字符.与使用phpMyAdmin进行的备份不同,来自命令行的备份往往在我的经验中运行良好.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。