- 更新日: 2014年7月23日
- MySQL & DB
my.cnf の innodb_data_file_path, innodb_log_file_size 設定で MySQL が起動しなくなる場合の対処
/etc/my.cnf に innodb_data_file_path, innodb_log_file_size を設定しようとして、mysqld を restart しようとしたら起動しなくなりました。かなりはまってしまった…。
innodb_log_file_size 変更で MySQL が起動しなくなる
/var/lib/mysql 以下に ib_logfile0, ib_logfile1 が存在する状態で、innodb_log_file_size を設定しようとすると mysql 起動が失敗する。
/etc/my.cnf
1 2 3 |
innodb_log_file_size = 128M |
これについては、以下のページに答えが書いてあった。
MySQLの「innodb_buffer_pool_size」と「innodb_log_file_size」の設定 – FlatLabs
なので innodb_log_file_size を変更するには、一旦 ib_logfile0, ib_logfile1 のログファイルを削除する必要がある。
innodb_data_file_path 変更で MySQL が起動しなくなる
また、/var/lib/mysql 以下に ibdata1 が存在する状態で、/etc/my.cnf に以下のように innodb_data_file_path を変更して設定しようとすると、これまた mysql 起動が失敗します。
/etc/my.cnf
1 2 3 |
innodb_data_file_path = ibdata1:1000M:autoextend |
これについては、以下のページに答えが書いてあった。
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
を
innodb_data_file_path = ibdata1:5000M;ibdata2:10M:autoextend
等にしてしまうと、またibdata1のサイズが異なるため、MySQLが起動しなくなります。
その際は、一度データベースのdumpを取って退避した後に、
ibで始まるファイルを削除し、my.cnfの設定変更後、MySQLを起動しdumpファイルを
インポートする作業を行う必要があります。
MySQL-server インストール完了時点で mysql_install_db が実行され、ibdata1, ib_logfile0, ib_logfile1 が作成される。なので、MySQL の初期インストール時には、/etc/my.cnf をあらかじめ作成しておき mysql をインストールする。すでに稼働中の場合で、上記パラメータを変更する場合は引用を参照。
MySQL 用の Chef を作成する際には、以下のページを参考に template リソースで /etc/my.cnf を作成する処理を、一番最初に行うようにすると良い。
chefでmysql-5.6インストールしようとしたら苦労した話 – blog.youyo.info
- MySQL & DB の関連記事
- MySQLでBLOB/TEXT型のカラムにはデフォルト値を設定できない
- SQLite3でDBテーブルをdumpバックアップ
- Warning: mysql_connect() PHPからMySQL接続でsocketエラー
- phpMyAdminでMySQLをバックアップ(エクスポート)
- MySQLが起動しないエラー(The server quit without updating PID file)
- phpMyAdminで#2002 Cannot log in to the MySQL serverエラー
- libaio.so.1, openssl-devel がなくて mysql-server, mysql-devel をインストールできないエラー
- MySQLオプション(/etc/my.cnf)の設定例
- my.cnfで設定するMySQLオプションで重要そうなのまとめ
- MySQLのソケット場所変更、my.cnfでのsocket設定の注意点
Leave Your Message!