我有一个当前在 5.0.27 服务器上运行的数据库。我想搬到新的 5.1.41 服务器。
我mysqldump'd所有的文件。恢复时出现错误
ERROR 1062 (23000) at line 21: Duplicate entry 'weiÃ' for key 'title'
我已将故障范围缩小到这个脚本,我可以运行它但它失败了:
--
-- Table structure for table `word`
--
set names utf8;
DROP TABLE IF EXISTS `word`;
CREATE TABLE `word`
(
`wordid` int (10) unsigned NOT NULL auto_increment,
`title` char (50) NOT NULL default '',
PRIMARY KEY (`wordid`),
UNIQUE KEY `title` (`title`)
) ENGINE=MyISAM AUTO_INCREMENT=280707 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
--
-- Dumping data for table `word`
--
LOCK TABLES `word` WRITE;
INSERT INTO `word` VALUES
(198036,'weis'),
(241473, unhex('776569C39F'));
UNLOCK TABLES;
编辑 - 更改为 UNHEX。
我检查并重新检查了两台服务器之间的所有字符集和排序规则变量,它们看起来相同。即使不是,我也会自己指定排序规则。
关于我在这里做错了什么的任何线索?
编辑:这是我用来转储数据库的命令:
mysqldump --add-drop-table --add-locks --disable-keys --lock-tables --quick -uusername -ppassword database > filename
并加载
mysql -D$MYSQL_DB -u$MYSQL_USER -p$MYSQL_PASSWD < filename
如何检查客户端连接的排序规则?