Перейти к основному содержанию

При восстановлении базы MySQL пропадают эмодзи

SQL

Давно хотел заняться этим вопросом. При резервном копировании и восстановлении базы данных из статей пропадали эмодзи. При этом если отредактировать статью и вставить эмодзи снова, то всё прекрасно сохраняется и отображается.

Восстановление базы MySQL из резервной копии

Не очень страшно, конечно, но неприятно. Нашёл вариант резервного копирования и восстановления, при котором эмодзи не пропадают, по словам автора. Нужно будет попробовать, когда руки дойдут.

Бэкап:

SCHEMA=${2:-mindlevel}
DB_HOST=$1
mysqldump -uroot -ppassword -h$DB_HOST --default-character-set=utf8mb4 --complete-insert --no-create-info $SCHEMA -r ${SCHEMA}_backup.sql

Восстановление:

mysqladmin -uroot -ppassword -h$DB_HOST -f drop $SCHEMA &&
mysql -uroot -ppassword -h$DB_HOST --default-character-set=utf8mb4 < ${SCHEMA}_schema.sql &&
mysql -uroot -ppassword -h$DB_HOST $SCHEMA --default-character-set=utf8mb4 -e "SET NAMES utf8mb4; SOURCE"${SCHEMA}"_backup.sql;"

Пока не проверял, но думаю, следует обратить внимание на два вещи:

  • --default-character-set=utf8mb4 в атрибутах при бэкапе и восстановлении
  • SET NAMES utf8mb4; перед началом восстановления

Теги

 

Похожие материалы

Seafile — установка на Ubuntu 18.04 LTS

Seafile — это личное облачное хранилище для хранения данных в стиле Dropbox. Сегодня мы развернём это хранилище на виртуальном сервере. В качестве гипервизора у нас ESXi 6.7 Update 1.