如何正确备份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进行的备份不同,来自命令行的备份往往在我的经验中运行良好.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...