J'ai une base de données en cours d'exécution sur un serveur 5.0.27. Je veux passer à un nouveau serveur 5.1.41.Conversion de 5.0.27 à 5.1.41, obtention d'erreurs de clé en double (1062)
J'ai mysqldump'd tous les fichiers. Lors de la restauration, je reçois une erreur
ERROR 1062 (23000) at line 21: Duplicate entry 'weiÃ' for key 'title'
Je l'ai réduit l'échec jusqu'à ce script, que je peux courir et il échoue:
--
-- 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;
EDIT - changé UNHEX.
J'ai vérifié et revérifié tous les charset et les variables de classement entre les deux serveurs, et ils semblent identiques. Même s'ils ne l'étaient pas, je spécifie la collation moi-même.
Des indices quant à ce que je fais mal ici?
EDIT: voici la commande que je utilise pour vider la base de données:
mysqldump --add-drop-table --add-locks --disable-keys --lock-tables --quick -uusername -ppassword database > filename
et charger
mysql -D$MYSQL_DB -u$MYSQL_USER -p$MYSQL_PASSWD < filename
Comment puis-je vérifier les connexions de classement pour la client?
Comment lancez-vous le vidage? Je me demande si c'est la collation pour la connexion client ... –
édité pour ajouter mes commandes de sauvegarde/restauration. –
Je viens de l'essayer et ça a bien fonctionné. J'utilise 5.1.41-3ubuntu12.6. Et vous? –