2016-03-24 1 views
4

Я получаю следующую ошибку в MAC OS X 10.11 при попытке запустить сервер mysql после установки из компиляции исходного кода. keyring_file не читается.Ошибка в установке MySQL v5.7.11 после компиляции

Я попытался запустить сервер, используя следующую команду.

./mysqld start 

В терминале возникает ошибка.

2016-03-24T18:43:50.591772Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2016-03-24T18:43:50.592053Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path. 
2016-03-24T18:43:50.592091Z 0 [Note] ./mysqld (mysqld 5.7.11) starting as process 3470 ... 
2016-03-24T18:43:50.593833Z 0 [Warning] Can't create test file /usr/local/mysql/data/Hemens-MacBook-Pro-2.lower-test 
2016-03-24T18:43:50.593852Z 0 [Warning] Can't create test file /usr/local/mysql/data/Hemens-MacBook-Pro-2.lower-test 
2016-03-24T18:43:50.595428Z 0 [ERROR] Plugin keyring_file reported: 'keyring_file initialization failure. Please check if the keyring_file_data points to readable keyring file or keyring file can be created in the specified location. The keyring_file will stay unusable until correct path to the keyring file gets provided' 
2016-03-24T18:43:50.595860Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 
2016-03-24T18:43:50.595866Z 0 [Note] InnoDB: Uses event mutexes 
2016-03-24T18:43:50.595881Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 
2016-03-24T18:43:50.595884Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3 
2016-03-24T18:43:50.596157Z 0 [Note] InnoDB: Number of pools: 1 
2016-03-24T18:43:50.596319Z 0 [Note] InnoDB: Using CPU crc32 instructions 
2016-03-24T18:43:50.605257Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M 
2016-03-24T18:43:50.615154Z 0 [Note] InnoDB: Completed initialization of buffer pool 
2016-03-24T18:43:50.631296Z 0 [Note] InnoDB: Highest supported file format is Barracuda. 
2016-03-24T18:43:50.638315Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables 
2016-03-24T18:43:50.638358Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation. 
2016-03-24T18:43:50.638364Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory. 
2016-03-24T18:43:50.638369Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation. 
2016-03-24T18:43:50.638373Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory. 
2016-03-24T18:43:50.638377Z 0 [ERROR] InnoDB: Cannot open datafile './ibtmp1' 
2016-03-24T18:43:50.638381Z 0 [ERROR] InnoDB: Unable to create the shared innodb_temporary 
2016-03-24T18:43:50.638385Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Cannot open a file 
2016-03-24T18:43:50.954042Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 
2016-03-24T18:43:50.954098Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
2016-03-24T18:43:50.954119Z 0 [ERROR] Failed to initialize plugins. 
2016-03-24T18:43:50.954126Z 0 [ERROR] Aborting 

2016-03-24T18:43:50.954141Z 0 [Note] Binlog end 
2016-03-24T18:43:50.954223Z 0 [Note] Shutting down plugin 'CSV' 
2016-03-24T18:43:50.954232Z 0 [Note] Shutting down plugin 'keyring_file' 
2016-03-24T18:43:50.954507Z 0 [Note] ./mysqld: Shutdown complete 

ответ

2

Если флажок keyring_file_data mysql manual entry вы увидите, что значит этот вариант:

Имя пути файла данных, используемый для безопасного хранения данных в keyring_file плагин. Местоположение файла должно находиться в каталоге , который рассматривается только для использования плагином keyring_file. Например, do не найти файл под каталогом данных.

Не используйте тот же файл данных keyring_file для нескольких экземпляров MySQL . Каждый экземпляр должен иметь свой собственный уникальный файл данных.

Имя по умолчанию - это keyring, расположенное в каталоге, имеющем значение , и зависит от значения параметра INSTALL_LAYOUT CMake , как показано в следующей таблице. Чтобы указать файл по умолчанию для файла, если вы строите его из исходного кода, используйте параметр INSTALL_MYSQLKEYRINGDIR CMake.

Вы также увидите значение по умолчанию, как его обрабатывают различные дистрибутивы Linux.

/var/lib/mysql-keyring/keyring

Таким образом, ответ должен быть безопасно игнорировать. Тем не менее, если вы хотите InnoDB шифрование файла my.cnf должно выглядеть примерно так:

[mysqld] 
keyring_file_data = /var/lib/mysql-keyring/keyring 

Однако это, вероятно, не решит вашу проблему.

  1. Это вопрос не относящийся к stackoverflow, но, возможно, серверный код.
  2. это вопрос с разрешениями. Вы запустили каталог данных mysql для пользователя mysqld?