This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-15. For the latest, interactive version please visit https://mariadb.com/kb/.

Unable to migrate one Db from MySql to Maria 10

Hi

I'm wanting to copy a database from a MySql 5.6 server to a MariaDb 10.0 server.

On both server, the cnf don't set character-set-server and collation-server to anything, so the default is latin1, and I can't change this.

On the Mysql server, the source database has default and tables charsets set to Utf8. Tables contain actually Utf8 text, as expected by the application.

I export by :

mysqldump --databases --events --flush-privileges --default-character-set=utf8 --user="uuu" --password="xxx" dbname >export.sql

The produced file looks UT8 coded. It is a valid script which creates the database with default to UTF8, every table in UTF8 charset. It have "SET NAMES UTF8" at the beginning and several "SET character_set_client = utf8" before each INSERT INTO.

Up to this point, everything is like expected...

Then I execute the script export.sql on the MariaDb 10.0 server :

mysql -h theotherserver -u uuu -p <export.sql

After successful creation, the selected strings are in 8-bytes charset, probably latin1 !

Why ? What can I check or change to obtain the UTF8 I have by default in MySql and needed by the application ?

NB : I check the charset of selected data on both databases with a small php script, independent of any application, and not changing the connection charset or anything related.

Thanks for your help !

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.