Используете необработанный диск MySQL в Windows?

у меня возникают проблемы с тем, чтобы MySQL 5.7 использовал необработанный диск (как блочное устройство, минуя файловую систему )для своих данных. Насколько я понимаю документацию , в основном, при первом запуске mysqld конфигурация должна иметь ключевое слово newrawв значении для innodb_data_file_pathи должно быть заменено только rawдля второго исполнение.

[mysqld]
innodb_data_home_dir    =
innodb_data_file_path   = //./E::512Gnewraw

default-time-zone       = SYSTEM
basedir                 = C:/MySQLSrv/
tmpdir                  = F:/MySQLTemp/
datadir                 = F:/MySQLData-raw/
pid-file                = mysql.pid
port                    = 3306
socket                  = MySQL
enable-named-pipe       = 1
skip-external-locking
key_buffer_size         = 16M
innodb_log_file_size = 26547M
max_allowed_packet      = 90M
table_open_cache        = 64
sort_buffer_size        = 512K
net_buffer_length       = 8K
read_buffer_size        = 256K
read_rnd_buffer_size    = 512K
myisam_sort_buffer_size = 8M
innodb_page_size = 64K

E:и F:— это разделы на большом (~35 ТБ)виртуальном диске -разделы GPT, первый раздел установлен как «неформатированный» системой управления дисками Windows, а второй один обычный NTFS на 4 ТБ. (Я установил размер файла данных innodb на 512 ГБ только временно, после того, как не смог заставить это работать с 4 ТБ, что я действительно хочу для теста. )По сути, я запускаю MySQL с нуля, поэтому мое первое выполнение mysqld было с параметром --initialize-insecure. Это заняло (примерно столько времени, сколько я ожидал, учитывая размер, настроенный для файла данных, и наблюдаемую скорость передачи данных на диск в диспетчере задач), и в итоге была получена обычная файловая структура в соответствии с настроенной datadir. Это включает в себя каталог mysqlс несколькими файлами *.ibd, что, как я не уверен, должно произойти. Тем не менее, в журналах mySQL нет ошибок, а строка прогресса, заканчивающаяся на 524200, предполагает, что табличное пространство было инициализировано.

2021-10-21T09:47:55.686131Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-10-21T09:47:55.692239Z 0 [Warning] InnoDB: innodb-page-size has been changed from the default value 16384 to 65536.
 100 200 300 400 500 <snip> 523900 524000 524100 524200
 100 200 300 400 500 <snip> 26200 26300 26400 26500
 100 200 300 400 500 <snip> 26200 26300 26400 26500
2021-10-21T09:56:54.318875Z 0 [Warning] InnoDB: New log files created, LSN=130881
2021-10-21T09:56:54.471343Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-10-21T09:56:54.533557Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 389cd84c-3255-11ec-8327-005056971dce.
2021-10-21T09:56:54.536035Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-10-21T09:56:56.339721Z 0 [Warning] CA certificate ca.pem is self signed.
2021-10-21T09:56:56.436944Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

Поэтому я переключаю опцию на rawи запускаю службу (, которая уже была создана ранее). Служба немедленно прекращает работу, регистрируя, что она хотела (снова создать табличное пространство?), потому что не смогла его найти, и это плохая идея, если существуют журналы повторного выполнения -, что они и сделали, --initialize-insecureoption создал их, как и ожидалось.

2021-10-21T10:08:09.625276Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-10-21T10:08:09.625424Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2021-10-21T10:08:09.625800Z 0 [Note] MySQL (mysqld 5.7.29) starting as process 3356...
2021-10-21T10:08:09.634217Z 0 [Warning] InnoDB: innodb-page-size has been changed from the default value 16384 to 65536.
2021-10-21T10:08:09.634627Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2021-10-21T10:08:09.634873Z 0 [Note] InnoDB: Uses event mutexes
2021-10-21T10:08:09.635033Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2021-10-21T10:08:09.635262Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2021-10-21T10:08:09.636051Z 0 [Note] InnoDB: Number of pools: 1
2021-10-21T10:08:09.636460Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2021-10-21T10:08:09.638441Z 0 [Note] InnoDB: Initializing buffer pool, total size = 52G, instances = 16, chunk size = 128M
2021-10-21T10:08:10.597917Z 0 [Note] InnoDB: Completed initialization of buffer pool
2021-10-21T10:08:11.118090Z 0 [Note] InnoDB: The first innodb_system data file '//./E:' did not exist. A new tablespace will be created!
2021-10-21T10:08:11.118733Z 0 [ERROR] InnoDB: redo log file '.\ib_logfile0' exists. Creating system tablespace with existing redo log files is not recommended. Please delete all redo log files before creating new system tablespace.
2021-10-21T10:08:11.119256Z 0 [ERROR] InnoDB: InnoDB Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.
2021-10-21T10:08:11.336787Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2021-10-21T10:08:11.337058Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2021-10-21T10:08:11.337286Z 0 [ERROR] Failed to initialize builtin plugins.
2021-10-21T10:08:11.337474Z 0 [ERROR] Aborting

2021-10-21T10:08:11.337615Z 0 [Note] Binlog end
2021-10-21T10:08:11.337839Z 0 [Note] Shutting down plugin 'CSV'
2021-10-21T10:08:11.338806Z 0 [Note] MySQL: Shutdown complete

Что я здесь упускаю?Почему MySQL не находит файл необработанных данных на диске после его первой инициализации?

2
задан 21 October 2021 в 10:27
1 ответ

Похоже, вы не следуете этой конкретной детали из указанной документации.

//./ соответствует синтаксису Windows \.\ для доступа к физическим дискам.

Windows имеет другой синтаксис, чем ОС Linux.

0
ответ дан 22 October 2021 в 10:31

Теги

Похожие вопросы