Wordpress и MySQL 8

Originally published at: https://root.bg/tutorials/wordpress-и-mysql-8/

[:bg]Wordpress и MySQL 8Здравейте,

Фен съм на новите технологии и много обичам ъпдейтите ;))

Поради тази причина от днес root.bg вече работи на MySQL 8!

В този пост ще споделя особенностите при пускането на версия 8 и какво е нужно да проработи нашия wordpress - особенно ако базата му е голяма, стара и с различни типове charset и collation-и. Да подчертая че мигрирах от MariaDB 10.2 и за целта си вдигнах нов MySQL сървър - не съм правил mysql_upgrade, а dump и restore на базата!

Повече подробности за новостите в MySQL 8 може да се намерят в официалния им сайт.

Това което е важно за wordpress специално е именно това :

  • Character set support. The default character set has changed from latin1 to utf8mb4. The utf8mb4 character set has several new collations, including utf8mb4_ja_0900_as_cs, the first Japanese language-specific collation available for Unicode in MySQL. For more information, see Section 10.10.1, “Unicode Character Sets”.
Или именно проблемът с който се сблъсках след като налях базата на root.bg на новия mysql сървър. Ето така изглеждаха всичките публикации написани на кирилица :

 

Причината за това е именно енкодинга в MySQL.

Този проблем може да се реши по два начина - чрез настройка в самия сървър или в конфигурационния файл на нашия wordpress.

Ето и двата начина:

В MySQL:

[code]character-set-server=latin1[/code]

За да направим проверка в mysql конзолата пишем :

SHOW VARIABLES LIKE 'character\_set\_%';

и трябва да видим следния резултат :

+--------------------------+---------+ | Variable_name | Value | +--------------------------+---------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | <strong>| character_set_database | latin1 |</strong> | character_set_filesystem | binary | | character_set_results | utf8mb4 | <strong>| character_set_server | latin1 |</strong> | character_set_system | utf8 | +--------------------------+---------+ 7 rows in set (0.00 sec)

В wordpress:

В конфигурационният файл на wordpress - wp-config.php добавяме следния ред :
define('DB_CHARSET', 'latin1');

И така вече имаме работещ wordpress на MySQL 8!

ПС root.bg живее върху : ubuntu 18.04.1 nginx 1.14.0 php 7.2.11 mysql 8.0.13 memcached 1.5.6
Това е!