検索

ホームページ  >  に質問  >  本文

linux - mysql 数据库经常报错挂掉

Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

一天出现1-2次,不论怎么reset 都没用,只能重启服务器来解决问题.我觉得是数据库配置问题?

天蓬老师天蓬老师2777日前634

全員に返信(3)返信します

  • PHPz

    PHPz2017-04-17 16:14:33

    データベースは再起動することによってのみ起動できます。確認したところ、データベースのメモリ割り当てが多すぎることがわかりました。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 16:14:33

    この問題には多くの理由が考えられます。具体的な理由を特定する最善の方法は、まずエラー ログを確認することです。
    1. /usr/local/mysql/data/mysql.pid が原因である可能性があります。ファイルには書き込み権限がありません
    解決策: 権限を付与し、「chown -R mysql:mysql /var/data」「chmod -R 755 /usr/local/mysql/data」を実行して、mysqld を再起動します。

    2. mysql プロセスがプロセスにすでに存在している可能性があります。
    解決策: コマンド「ps -ef|grep mysqld」を使用して、mysqld プロセスがあるかどうかを確認します。存在する場合は、「kill -9 プロセス ID」を使用します。 「それを強制終了してから再起動します。mysqld!」

    3. mysql をマシンにインストールするのは 2 回目である可能性があり、サービスの起動に影響を与えるデータが残っています。
    解決策: mysql データ ディレクトリ/data に移動して調べ、mysql-bin.index が存在する場合は、それが原因です。 3番目の方法で解決しました!

    4. mysql が起動時に設定ファイルを指定しない場合、/etc/my.cnf 設定ファイルが使用されます。このファイルを開いて、[mysqld] の下に指定されたデータ ディレクトリ (datadir) があるかどうかを確認してください。セクション。
    解決策: [mysqld] の下に次の行を設定してください: datadir = /usr/local/mysql/data

    5. Skip-federated フィールドの問題
    解決策: /etc/my.cnf ファイルにコメント化されていない Skip-federated フィールドがあるかどうかを確認し、存在する場合はすぐにコメント化します。

    6. エラー ログ ディレクトリが存在しません
    解決策: 「chown」「chmod」コマンドを使用して、mysql の所有者と権限を付与します

    7. selinux が原因で発生する問題。centos システムの場合、selinux はデフォルトで有効になります。
    解決策: それを閉じ、/etc/selinux/config を開き、SELINUX=enforcing を SELINUX=disabled に変更して保存します。終了してマシンを再起動してみてください。

    7番目の方法を試すことができます~~~

    返事
    0
  • 怪我咯

    怪我咯2017-04-17 16:14:33

    innodb_pool_buffer_size が大きすぎ、サーバーのメモリが小さすぎるため、システムが ooom になります。この値を減らし、サーバーのメモリ構成を増やすことをお勧めします。

    返事
    0
  • キャンセル返事