MySQL

MySQL5.7のyumインストールでmysqld.logが空になる現象が発生!ディレクトリが空じゃないとダメなんだ

yumでMySQL5.7をインストール

 

/var/log/mysqld.logにパスワードが記述されているはずだが、ファイルはあるが0byteで何も記述されていない状態に

/var/lib/mysqlを見てみるこちらも空

 

よく分からないのでデータベースを作成する

$ sudo -u mysql mysqld –initialize
2016-02-16T09:22:27.063848Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-02-16T09:22:27.064028Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
2016-02-16T09:22:27.064415Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
2016-02-16T09:22:27.068986Z 0 [ERROR] –initialize specified but the data directory has files in it. Aborting.
2016-02-16T09:22:27.069047Z 0 [ERROR] Aborting

 

ERRORの一行目を見てみると、データディレクトリにファイルが存在するって言ってる。

確認してみる

$ sudo ls -la /var/lib/mysql
合計 24
drwxr-x–x   3 mysql mysql  4096  2月  2 09:08 2016 .
drwxr-xr-x. 44 root  root   4096  2月 16 17:47 2016 ..
drwx——   2 root  root  16384 12月  1 15:00 2015 lost+found

このlost+foundが影響してそう

 

削除してみる

$ sudo rm -rf lost+found

 

再度データベース初期化

$ sudo -u mysql mysqld –initialize –explicit_defaults_for_timestamp

無事完了

 

確認する

$ sudo ls /var/lib/mysql
auto.cnf ib_buffer_pool ib_logfile0 ib_logfile1 ibdata1 mysql performance_schema sys

 

無事にデータベースが作成されて、/var/log/mysqld.logファイルにもパスワードが記述されました。