AmazonEC2でmysqlが起動できなかったら/var/lib/mysqlを一回削除してみよう

スポンサーリンク
Pocket
LINEで送る

AmazonEC2でmysqlを起動させようとしました

sudo service mysqld start

すると起動出来ない

MySQL Daemon failed to start.
Starting mysqld: [FAILED]

ログを見てみます。

 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
 [Note] Plugin ‘FEDERATED’ is disabled.
/usr/sbin/mysqld: Table ‘mysql.plugin’ doesn’t exist
 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
 [Note] InnoDB: Using atomics to ref count buffer pool pages
 [Note] InnoDB: The InnoDB memory heap is disabled
 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
 [Note] InnoDB: Compressed tables use zlib 1.2.3
 [Note] InnoDB: Using Linux native AIO
 [Note] InnoDB: Using CPU crc32 instructions
 [Note] InnoDB: Initializing buffer pool, size = 128.0M
 [Note] InnoDB: Completed initialization of buffer pool
 [ERROR] InnoDB: Log file ./ib_logfile1 is of different size 50331648 bytes than other log files 0 bytes!
 [ERROR] Plugin ‘InnoDB’ init function returned error.
 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
 [ERROR] Aborting

権限や所有者を変更してみても変わらず起動ができない

エラーをググってみるといくつか解決記事があったのでやってみる

さくらVPSでmysql-server起動に失敗した時

Mysql サービスが「Table ‘mysql.plugin’ doesn’t exist」というエラーで起動しません

んー、mysqlが起動しない。。。

スポンサーリンク

しばらくググってみるとエンジニアQ&Aサイト「teratailテラテイル」がヒットした

mysql5.7.11 起動ログについて

mysql_install_db –datadir=/var/lib/mysql –user=mysql

をすると

[WARNING] mysql_install_db is deprecated. Please consider switching to mysqld –initialize
[ERROR] The data directory ‘/var/lib/mysql’ already exist and is not empty.

/var/lib/mysqlが既に存在しているとエラーが出ます。

/var/lib/mysql がすでに存在しているようですが、
削除してもう一度試すか
datadirをほかのディレクトリにしてみてください。
/usr/local/mysql/data

よし、削除しよう

sudo rm -R /var/lib/mysql

再び起動させてみる

sudo service mysqld start

Starting mysqld: [ OK ]

すばらしい!!

さすがテラテイル!!

ということでmysqlが起動できなかったら/var/lib/mysqlを削除してみましょう。

こちらがおすすめのテラテイルです