kaiwii ho
kaiwii ho

Reputation: 1407

How to set the default character-set?

I want to create a new db in mysql. I set utf8 as the default-character-set, but when I attempted to restart the db, mysql failed to restart and posted the following prompt:

Trying to start the server ... Could not re-connect to the MySQL Server. Server could not be started.

Plugin 'FEDERATED' is disabled.

C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: unknown variable 'default-character-set=utf8'

Aborting

C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: Shutdown complete

I know that after cancelling the default-character-set, mysql will restart. But if I had to set the default-character-set, is there some other way to make mysql work again?

Upvotes: 16

Views: 35500

Answers (3)

elvisef
elvisef

Reputation: 51

Had the same issue today, but with version 5.7.31. For me commenting the line did work but.. how to set the character set in config files then ?

There's a reply: https://dev.mysql.com/doc/refman/5.7/en/charset-applications.html

So, to specify character settings at server startup we can for example add these lines in two files (for me these were: 50-client.cnf and 50-mysql-clients.cnf - both in /etc/mysql/mariadb.conf.d/ directory):

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

Remember about the "mysqld" section, it is important, because in the "client" section this won't work.

Upvotes: 4

Omar Ahmed
Omar Ahmed

Reputation: 86

I had a similar problem when running mysqlslap i get the following error:

mysqlslap unknown variable 'default-character-set=utf8mb4'

After a lot of investigations i discovered that default-character-set was being set in another file instead of all the config files i changed.

The option was set in /etc/mysql/mariadb.conf.d/50-client.cnf, so i just commented this line default-character-set = utf8mb4 and everything went well.

I have MySQL running on Debian 9. that in case someone is having the same problem.

Upvotes: 7

robguinness
robguinness

Reputation: 16656

I had a similar problem. The answer, as EO2 pointed out, is that default-character-set is deprecated in 5.5. You should use instead:

character-set-server = utf8

BTW, it's better if answers are answered as answers, not comments... ;-)

Upvotes: 32

Related Questions