2016-03-24 28 views
4

ソースコードのコンパイルからインストール後にmysqlサーバを起動しようとしたときに、MAC OS X 10.11で次のエラーが発生しました。 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プラグインでのみ使用する必要があります。たとえば、 はデータディレクトリの下にファイルを配置しません。

複数のMySQL インスタンスに同じkeyring_fileデータファイルを使用しないでください。各インスタンスには独自のデータファイルが必要です。

デフォルトのファイル名は、次の表に示すように、 プラットフォーム固有で、INSTALL_LAYOUT CMake オプションの値に依存するディレクトリにあります。ソースからビルドする場合、明示的にファイルのデフォルトの ディレクトリを指定するには、 INSTALL_MYSQLKEYRINGDIR CMakeオプションを使用します。

また、さまざまなLinuxディストリビューションがそれをどのように処理するかについてのデフォルト値が表示されます。

/var/lib/mysql-keyring/keyring

だから、答えはそれを無視しても安全であるべきです。

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

しかし、これはおそらくあなたの問題を解決することはできません。しかし、あなたは、my.cnfのは、次のようになりますInnoDBのファイルの暗号化を希望する必要があります。

  1. これは、stackoverflowに属していない可能性がありますが、おそらくserverfaultです。
  2. 権限の問題です。 mysqldが実行されているユーザにmysqlデータディレクトリを作成しましたか?
関連する問題