mysql --innodb_file_per_table

mysql --innodb_file_per_table

У меня есть простой вопрос по поводу доступа к mysql через команду. Когда я попытался получить к нему доступ как root, он выдал сообщение:

mysql: unknown option '--innodb_file_per_table'

Как вернуть его к работе?


Спасибо, Рик. Мне удалось получить доступ, и сервер работает, но меня беспокоит куча ошибок при запуске/остановке/перезапуске.

журнал ошибок

2020-12-17 19:16:40 0 [Note] InnoDB: Using Linux native AIO
2020-12-17 19:16:40 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2020-12-17 19:16:40 0 [Note] InnoDB: Uses event mutexes
2020-12-17 19:16:40 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2020-12-17 19:16:40 0 [Note] InnoDB: Number of pools: 1
2020-12-17 19:16:40 0 [Note] InnoDB: Using SSE2 crc32 instructions
2020-12-17 19:16:40 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2020-12-17 19:16:40 0 [Note] InnoDB: Completed initialization of buffer pool
2020-12-17 19:16:40 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority       ().
2020-12-17 19:16:40 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2020-12-17 19:16:40 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2020-12-17 19:16:40 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2020-12-17 19:16:40 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2020-12-17 19:16:40 0 [Note] InnoDB: 10.3.27 started; log sequence number 8459955162; transaction id 23688770
2020-12-17 19:16:40 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2020-12-17 19:16:40 0 [Note] Plugin 'FEEDBACK' is disabled.
2020-12-17 19:16:40 0 [Note] Server socket created on IP: '127.0.0.1'.
2020-12-17 19:16:40 0 [Note] Reading of all Master_info entries succeeded
2020-12-17 19:16:40 0 [Note] Added new Master_info '' to hash table
2020-12-17 19:16:40 0 [Note] /usr/sbin/mysqld: ready for connections.
Version: '10.3.27-MariaDB-0+deb10u1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Debian 10
2020-12-17 19:16:40 0 [Note] InnoDB: Buffer pool(s) load completed at 201217 19:16:40

решение1

План А (запутанный и не рекомендуемый): добавьте эту опцию в mysqld(серверную программу, а не mysqlклиентскую программу).

План Б: Измените настройки в my.cnf(или в любом другом месте файла конфигурации). Затем перезапустите сервер. (Перезапуск зависит от ОС.)

План C: Войдите как пользователь "root" mysql, выполните SET GLOBAL innodb_file_per_table = 1;. Впредь (пока вы не выйдете из системы) таблицы, которые _это соединение CREATEsбудут файл-на-таблицу. Кроме того, поскольку эта настройка "глобальная", она будет применяться к другим, которые войдутпоследелая SETидозатем снова перезагрузитесь (или отключите флаг).

План D: (Только в MySQL 8.0) root может сделать это SETс PERSISTопцией. (Но я не буду вдаваться в подробности.)

Предостережение: Различные настройки имеют различные правила. Эти 4 плана работают длянекоторыйнастройки. Меньше или больше планов применяются к другим настройкам. Одна подсказка — в документации указано, является ли настройка «глобальной» или «сеансовой» или и тем, и другим.

Связанный контент