5

MySQL サーバーを再起動しようとした後、このエラーに直面しました。

root@private:/# mysqld_safe 
140618 03:56:53 mysqld_safe Can't log to error log and syslog at the same time.  Remove all --log-error configuration options for --syslog to take effect.
140618 03:56:53 mysqld_safe Logging to '/var/log/mysql/error.log'.
140618 03:56:53 mysqld_safe Starting mysqld daemon with databases from /mysql
140618 03:56:53 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

/var/log/mysql の権限を mysql user に変更する、私が従った(そしてインターネットで最も多く見つかった)アプローチ。しかし、うまくいきません

drwxr-s---  2 mysql             mysql       4096 Jun 18 03:31 mysql/

中身:

root@private:/var/log# ll mysql
total 12
drwxr-s---  2 mysql mysql 4096 Jun 18 03:31 ./
drwxr-xr-x 24 root  root  4096 Jun 18 03:27 ../
-rw-r-----  1 mysql mysql 1989 Jun 18 03:34 error.log
-rwxrwxrwx  1 mysql mysql    0 Jun 18 03:13 mysql-bin.index*

私のデータパス:

drwxr-xr-x   3 mysql    mysql     4096 Jun 18 03:27 mysql/

MySQLも再インストールしようとしましたが、エラーは消えません。

私を助けてください!!!

更新 1: my.cnf について - エラー ログの構成。一般ログとエラー ログ (error.log へ) の両方を有効にしました。しかし、一般的なログ ファイル内には何もありません。エラーログファイルには、上でコピーしたエラー以外のものはありません。

# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries       = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes

更新 2: apparmor または selinux の質問に関して、私は apparmor を使用しています。私も追加しようとしました:

/var/log/* rw

/etc/apparmor.d/usr.sbin.mysqld

しかし、それも機能しません

更新 3:

そして、私の場合、次の変更がうまくいったと思います:

  • mysql アカウントが mysql ログ/データ ディレクトリに対して十分な権限 (rw) を持っていることを確認する必要があります。root または sudoer アカウントから mysql ユーザーに切り替えてから、テスト ファイルを作成/編集してください。

  • apparmor を削除または無効にして、mysql プロファイル (通常は usr.sbin.mysqld) を次のように更新しないでください。

    /var/log/mysql-bin.index rw,

    /mysql/* rw,

ケースに応じてカスタマイズできます。

  • mysql プロファイルをリロードする

    apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld

そして再起動します。

インターネットに出くわし、何の幸運もなく許可と鎧を変更するために時間を費やした人にとって、それが役立つことを願っています.

4

1 に答える 1