У меня возникли проблемы с тем, чтобы MySQL 5.7 использовал необработанный диск (блочное устройство в обход файловой системы) для своих данных. Мое понимание документация заключается в том, что при первом запуске mysqld конфигурация должна иметь новый
ключевое слово в значении для innodb_data_file_path
, и его следует заменить только сырой
на 2-е исполнение.
[mysqld]
innodb_data_home_dir =
innodb_data_file_path = //./E::512Gnewraw
часовой пояс по умолчанию = СИСТЕМА
базовый_каталог = C:/MySQLSrv/
tmpdir = F:/MySQLTemp/
каталог данных = F:/MySQLData-raw/
pid-файл = mysql.pid
порт = 3306
сокет = MySQL
включить именованный канал = 1
пропустить внешнюю блокировку
key_buffer_size = 16M
innodb_log_file_size = 26547M
max_allowed_packet = 90M
table_open_cache = 64
sort_buffer_size = 512 КБ
net_buffer_length = 8 КБ
read_buffer_size = 256 КБ
read_rnd_buffer_size = 512 КБ
myisam_sort_buffer_size = 8M
innodb_page_size = 64 КБ
E: и F: - это разделы на большом (~ 35 ТБ) виртуальном диске - разделы GPT, первый раздел установлен как «неформатированный» системой управления дисками Windows, а второй - обычная NTFS на 4 ТБ. (Я установил размер файла данных innodb на 512 ГБ только временно, после того, как не смог заставить это работать с 4 ТБ, что я действительно хочу для теста.)
По сути, я запускаю MySQL с нуля, поэтому мое первое выполнение mysqld было с --initialize-небезопасно
вариант. Это заняло некоторое время (примерно столько, сколько я ожидал, учитывая размер, настроенный для файла данных, и наблюдаемую скорость передачи данных в диспетчере задач) и в конечном итоге создал обычную файловую структуру в настроенном каталог данных
. Это включает в себя mysql
каталог с несколькими *.ibd
файлы, что, как я не уверен, должно произойти. Тем не менее, в журналах mySQL нет ошибок, а строка прогресса, заканчивающаяся на 524200, предполагает, что табличное пространство было инициализировано.
2021-10-21T09:47:55.686131Z 0 [Предупреждение] TIMESTAMP с неявным значением DEFAULT устарело. Пожалуйста, используйте опцию сервера --explicit_defaults_for_timestamp (подробности см. в документации).
2021-10-21T09:47:55.692239Z 0 [Предупреждение] InnoDB: innodb-page-size был изменен со значения по умолчанию 16384 на 65536.
100 200 300 400 500 <снип> 523900 524000 524100 524200
100 200 300 400 500 <срез> 26200 26300 26400 26500
100 200 300 400 500 <срез> 26200 26300 26400 26500
2021-10-21T09:56:54.318875Z 0 [Предупреждение] InnoDB: созданы новые файлы журнала, LSN = 130881
2021-10-21T09:56:54.471343Z 0 [Предупреждение] InnoDB: создание системных таблиц ограничений внешнего ключа.
2021-10-21T09:56:54.533557Z 0 [Предупреждение] Существующий UUID не найден, поэтому мы предполагаем, что этот сервер был запущен впервые. Создание нового UUID: 389cd84c-3255-11ec-8327-005056971dce.
2021-10-21T09:56:54.536035Z 0 [Предупреждение] Таблица Gtid не готова к использованию. Таблица «mysql.gtid_executed» не может быть открыта.
2021-10-21T09:56:56.339721Z 0 [Предупреждение] Сертификат ЦС ca.pem является самозаверяющим.
2021-10-21T09:56:56.436944Z 1 [Внимание] root@localhost создан с пустым паролем! Пожалуйста, рассмотрите возможность отключения опции --initialize-insecure.
Поэтому я переключаю опцию на сырой
и запустите службу (у меня она уже была создана ранее). Служба немедленно прекращает работу, регистрируя, что она хотела создать табличное пространство (снова?), потому что не смогла его найти, и это плохая идея, если журналы повторного выполнения существуют — что они и сделали, --initialize-небезопасно
option создал их, как и ожидалось.
2021-10-21T10:08:09.625276Z 0 [Предупреждение] TIMESTAMP с неявным значением DEFAULT устарело. Пожалуйста, используйте опцию сервера --explicit_defaults_for_timestamp (подробности см. в документации).
2021-10-21T10:08:09.625424Z 0 [Примечание] --secure-file-priv имеет значение NULL. Операции, связанные с импортом и экспортом данных, отключены
2021-10-21T10:08:09.625800Z 0 [Примечание] MySQL (mysqld 5.7.29) запускается как процесс 3356 ...
2021-10-21T10:08:09.634217Z 0 [Предупреждение] InnoDB: innodb-page-size был изменен со значения по умолчанию 16384 на 65536.
2021-10-21T10:08:09.634627Z 0 [Примечание] InnoDB: мьютексы и rw_locks используют взаимосвязанные функции Windows
2021-10-21T10:08:09.634873Z 0 [Примечание] InnoDB: использует мьютексы событий
2021-10-21T10:08:09.635033Z 0 [Примечание] InnoDB: _mm_lfence() и _mm_sfence() используются для барьера памяти
2021-10-21T10:08:09.635262Z 0 [Примечание] InnoDB: сжатые таблицы используют zlib 1.2.11
2021-10-21T10:08:09.636051Z 0 [Примечание] InnoDB: Количество пулов: 1
2021-10-21T10:08:09.636460Z 0 [Примечание] InnoDB: инструкции CPU crc32 не используются.
2021-10-21T10:08:09.638441Z 0 [Примечание] InnoDB: инициализация пула буферов, общий размер = 52 ГБ, экземпляров = 16, размер фрагмента = 128 МБ
2021-10-21T10:08:10.597917Z 0 [Примечание] InnoDB: завершена инициализация буферного пула
2021-10-21T10:08:11.118090Z 0 [Примечание] InnoDB: первый файл данных innodb_system '//./E:' не существовал. Новое табличное пространство будет создано!
2021-10-21T10:08:11.118733Z 0 [ОШИБКА] InnoDB: существует файл журнала повторов «.\ib_logfile0». Не рекомендуется создавать системное табличное пространство с существующими файлами журнала повторов. Перед созданием нового системного табличного пространства удалите все файлы журнала повторов.
2021-10-21T10:08:11.119256Z 0 [ОШИБКА] InnoDB: создание базы данных InnoDB было прервано из-за ошибки Общая ошибка. Возможно, вам придется удалить файл ibdata1 перед повторной попыткой запуска.
2021-10-21T10:08:11.336787Z 0 [ОШИБКА] Функция инициализации плагина InnoDB вернула ошибку.
2021-10-21T10:08:11.337058Z 0 [ОШИБКА] Ошибка регистрации плагина InnoDB в качестве STORAGE ENGINE.
2021-10-21T10:08:11.337286Z 0 [ОШИБКА] Не удалось инициализировать встроенные плагины.
2021-10-21T10:08:11.337474Z 0 [ОШИБКА] Прерывание
2021-10-21T10:08:11.337615Z 0 [Примечание] Конец бинлога
2021-10-21T10:08:11.337839Z 0 [Примечание] Отключение плагина CSV
2021-10-21T10:08:11.338806Z 0 [Примечание] MySQL: отключение завершено
Что мне здесь не хватает? Почему MySQL не находит файл необработанных данных на диске после его первой инициализации?