Bug #48837 | mysqldump --all-databases: german äöü destroyd | ||
---|---|---|---|
Submitted: | 17 Nov 2009 12:46 | Modified: | 21 Nov 2009 6:51 |
Reporter: | Harald Reindl | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Charsets | Severity: | S2 (Serious) |
Version: | 5.1.41 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[17 Nov 2009 12:46]
Harald Reindl
[17 Nov 2009 13:46]
Susanne Ebrecht
Hello Harald, this isn't a bug at all but I want to help you anyway because this is kind of tricky. I need some things from you: 1) Version of "old" mysql server 2) Operating system of "old" database 3) on which OS did you store the dump 4) part of dump file where i can see text with umlaut 5) To which version and which OS did you restore it?
[17 Nov 2009 13:53]
Harald Reindl
MySQL-Spec for our binaries
Attachment: mysql.spec (application/octet-stream, text), 31.75 KiB.
[17 Nov 2009 13:56]
Harald Reindl
As said both are the same versions because we speak about vmware-clones with central update-repo for self-built-packages and both machines are using nearly the same configuration (only buffer/cache-sizes are changed) I have attached our "mysql-spec" also 2.6.30.9-96.fc11.x86_64 #1 SMP Wed Nov 4 00:02:04 EST 2009 rpm -qa | grep mysql mysqlreport-3.5-3.fc11.noarch qt-mysql-4.5.3-9.fc11.x86_64 rsyslog-mysql-3.22.1-1.fc11.x86_64 mysql-5.1.40-2.fc11.rh.x86_64 php-mysql-5.2.11-16.fc11.rh.x86_64 mysql-administrator-5.0r12-11.fc11.x86_64 mysqltuner-1.0.0-3.fc11.rh.noarch mysqlclient15-5.0.86-1.fc11.rh.x86_64 mysql-gui-common-5.0r12-11.fc11.x86_64 mysql-bench-5.1.40-2.fc11.rh.x86_64 mysql-libs-5.1.40-2.fc11.rh.x86_64 mysql-server-5.1.40-2.fc11.rh.x86_64
[18 Nov 2009 17:10]
Susanne Ebrecht
Harald, you totally misunderstood me. I need example output from you. Also I need to know where you see it. Terminal? Editor? Console? You are using linux, so output of $ locale would be interesting too.
[19 Nov 2009 16:30]
Harald Reindl
I have changed our backup-scenario * MySQL-Replication * Backup-Machine has to mysqld-instances * replication-slave on 3307 and backup on 3306 * every hour cron stops both mysqld, rsync of the data and restart ____________ Anyways, if mysqldump generates a full dump of all databases there should never be data changed after importing because the dump is useless :-( [root@arrakis:~]$ locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_MESSAGES="de_DE.UTF-8" LC_PAPER="de_DE.UTF-8" LC_NAME="de_DE.UTF-8" LC_ADDRESS="de_DE.UTF-8" LC_TELEPHONE="de_DE.UTF-8" LC_MEASUREMENT="de_DE.UTF-8" LC_IDENTIFICATION="de_DE.UTF-8" LC_ALL= I see the change in the browser pagetitle in our CMS this is a varchar(255) and all special chars are destroyed
[20 Nov 2009 11:06]
Sveta Smirnova
Thank you for the feedback. If I understood correctly you did dump of version 5.1.30 and restore with 5.1.40? Does it help if you add option --default-character-set=utf8 to both mysqldump and mysql calls?
[20 Nov 2009 11:56]
Harald Reindl
> If I understood correctly you did dump of version 5.1.30 > and restore with 5.1.40? No everytime the same version, now 5.1.41 All our machines are vmware-images from the same clone For every production-machine runs one copy on another host Cronscripts are making backups of docroot, databases and configs every hour > Does it help if you add option --default-character-set=utf8 to both > mysqldump and mysql calls? Of course it does! Tried it on two test-machines a few minutes ago This is why i think there is a bug because if both machines running the same mysql-version, the same os and identical settings there should be no need to give any argument making sure there are no data changed Thank you!
[21 Nov 2009 6:51]
Sveta Smirnova
Thank you for the feedback. You have option --compact=TRUE in mysqldump call which is shorthand to --skip-add-drop-table, --skip-add-locks, --skip-comments, --skip-disable-keys --skip-set-charset With --skip-set-charset final dump has no charset information, so it is expected what you have to define it during restore.