1

Amazon Linux AMI で実行されている amazon ec2 インスタンスがあります。/home/ec2-user/data次の構成ファイル ( ) を使用して、mysql のデータ ディレクトリを 2 番目のボリューム ( にマウント) に移動しようとしています/etc/my.cnfが、mysql の起動に失敗します。

[mysqld]
datadir=/home/ec2-user/data/mysql
socket=/home/ec2-user/data/mysql/mysql.sock
log-bin=/var/log/mysql/mariadb-bin
log-bin-index=/var/log/mysql/mariadb-bin.index
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
port=3306
socket=/home/ec2-user/data/mysql/mysql.sock

ログ ファイルに次のエラー メッセージが表示されます。

2017-10-12 14:06:33 20082 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2017-10-12 14:06:33 20082 [ERROR] Can't start server : Bind on unix socket: Permission denied
2017-10-12 14:06:33 20082 [ERROR] Do you already have another mysqld server running on socket: /home/ec2-user/data/mysql/mysql.sock ?
2017-10-12 14:06:33 20082 [ERROR] Aborting

構成ファイルを以前の設定 (データ フォルダーのバックアップ) に戻すと、すべて正常に動作します。

[mysqld]
datadir=/var/lib/mysql.bak
socket=/var/lib/mysql.bak/mysql.sock

log-bin=/var/log/mysql/mariadb-bin
log-bin-index=/var/log/mysql/mariadb-bin.index
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
port=3306
socket=/var/lib/mysql.bak/mysql.sock

この問題の原因は何ですか? 新しいデータ フォルダーのアクセス許可を既に確認しましたが、何も変わりません。

4

1 に答える 1