mysql --disable-named-commands --default-character-set=utf8 -uuser -p db < mysql-db-backup.sql
-- MySQL dump 10.13 Distrib 5.5.28, for Win32 (x86) -- -- Host: localhost Database: db -- ------------------------------------------------------ -- Server version 5.5.28 /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
Делаю mysqldump.
Открываю дамп в Notepad++
Иду в меню Encoding и убеждаюсь что кодировка — UTF8. Все русские буквы в дампе нормально читаются.
Для надёжности делаю Encoding — Convert to UTF8. Русские буквы остались русскими.
Заливаю обработанный дамп (теперь то уж точно в UTF8) в базу.
show global variables like 'char%'; character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 show global variables like '%conn%'; character_set_connection utf8 collation_connection utf8_general_ci
Конкретные вещи, которые помогли:
— установка на хост-машину дров от IBM только для HBA-адаптеров
— оставление драйвера MPIO от Майкрософта. Хотя есть и IBM-овские, но с ним хуже.
А вся прочая чёрная магия, вроде изменения очереди записи/чтения и еще каких-то хитрых настроек — давала лишь кратковременные нестабильные эффекты.