WordPress и MySQL 8

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:

character-set-server=latin1

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

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

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

+--------------------------+---------+
| Variable_name | Value |
+--------------------------+---------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | latin1 |
| 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

Това е!