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

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

Теги

 

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

Перемещение базы данных postgresql в Ubuntu 18.04 LTS

При установке на Ubuntu zabbix-server база данных по умолчанию пишется в папку /var/lib/postgresql. Со временем база растёт и поднимается вопрос переноса её на другой раздел диска. Перенесём базу данных в /opt/postgresql.

Теги