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

При восстановлении базы 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; перед началом восстановления

Теги

 

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

Включаем Database Mail в Microsoft SQL Server 2014

Для того чтобы MSSQL сервер мог слать уведомления на почту, необходимо настроить Database Mail фичу. Для чего нужны уведомления? Я, например, хочу получать письмо, когда заканчивается бэкап. Функционал этой фичи на самом деле гораздо богаче. При сноровке можно по почте слать SQL запросы и получать результаты. В моём случае это не требуется.

Теги