Tot*_*oto 5 mysql backup charset mediawiki
我想使用 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
...
Run Code Online (Sandbox Code Playgroud)
使用以下命令:
mysql> show create table text;
Run Code Online (Sandbox Code Playgroud)
我看到表创建语句将字符集设置为二进制:
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
Run Code Online (Sandbox Code Playgroud)
我应该如何使用 mysqldump 正确生成该数据库的备份?
mysqldump通常show create table是相当可靠的主力,不应该自行更改编码。如果他们使用“二进制”字符集,则很可能实际上是赋予表的字符集(但不一定是列)。您可以在数据库浏览器中重新检查当前表字符集吗?
我会尝试简单地mysqldump写入文件,将转储恢复到镜像数据库中,并仔细查看特殊字符。与使用 phpMyAdmin 进行的备份不同,根据我的经验,来自命令行的备份往往效果很好。
| 归档时间: |
|
| 查看次数: |
2574 次 |
| 最近记录: |