web-dev-qa-db-ja.com

MySQLデーモンの起動に失敗しました-centos 6

編集:チェックマークが付いた回答のコメントを見て、問題を解決します。

SQLDサービスを開始しようとすると、MySQL Daemon Failed to Startが発生します。私は次のことを行ってサービスを「開始」しようとしました。

service mysqld start

また

入力するとき:mysql

私は得る:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

そのディレクトリにmysql.sockファイルがあるはずだとわかっているので、作成します。しかし、ファイルは自己を自動的に削除するだけなので、エラー2002が引き続き発生します。

また、エラーのためにPHPMyAdminにログインできません。 phpmyadminページにアクセスできますが、ログインすると#2002 Cannot log in to the MySQL server

編集:

Mysql.logファイルは次のとおりです。

131201 13:05:07 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
131201 13:18:18 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131201 13:18:18 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
131201 13:18:18 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
131201 13:18:18 InnoDB: The InnoDB memory heap is disabled
131201 13:18:18 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131201 13:18:18 InnoDB: Compressed tables use zlib 1.2.3
131201 13:18:18 InnoDB: Using Linux native AIO
131201 13:18:18 InnoDB: Initializing buffer pool, size = 128.0M
131201 13:18:18 InnoDB: Completed initialization of buffer pool
131201 13:18:18  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
131201 13:18:18 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Mysql_upgradeを実行して

Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
FATAL ERROR: Upgrade failed
17
Travis

このエラーの最も可能性の高い原因は、mysqlサーバーが実行されていないことです。 mysqlと入力すると、mysqlクライアントが実行されます。

試してください:

# Sudo service mysql start
# mysql

更新(OPが質問にログインした後、以下のコメントから取得):

ありがとう、ログを見た。ログには、mysqlユーザーに適切なアクセス権がないことが示されています。 mysqlユーザーはmysqlであると仮定しています(これは/etc/my.cnf、実行

chown -R mysql:mysql /var/lib/mysql

mysqldをもう一度開始してみてください。

17
vee

Apacheを再起動してくださいSudo service httpd restart。私のために働いた。

18
hexicle

これを実行します:

chown -R mysql:mysql /var/lib/mysql

そしてさらに試みる!

12
Mehdi
 /etc/init.d/mysqld stop

  mysqld_safe --skip-grant-tables &

  mysql_upgrade

 /etc/init.d/mysqld stop

 /etc/init.d/mysqld start
5
guru rajender

ルート(/)パーティションからいくつかのスペースを解放する必要がある場合があります。次の方法でmysqlプロセスを停止します。

/etc/init.d/mysql stop

次のコマンドで未使用のデータベースをmySqlから削除します。

rm -rf [Database-Directory]

/var/lib/mysqlで実行します。 df -hを実行すると、まだ十分なスペースがないため混乱する可能性があります。影響を受ける未使用のデータベースのディレクトリを削除するには、現在のディレクトリ/パーティションを使用しているプロセスを強制終了する必要があります。

mysql_safeまたはmysqld_safeを停止してからmysqldを停止します。

ps -A

次に、mysqlのプロセス番号(2234など)を見つけます。次に実行します:

kill 2234

ここでmysqlをもう一度開始します。

/etc/init.d/mysql start
4
Mohsen Abasi

私のために働いたさらに別のヒント。次のコマンドを実行します。

$ mysql_install_db
3
dxvargas
  1. /etc/init.d/mysql stop
  2. chown -R mysql:mysql /var/lib/mysql
  3. mysql_install_db
  4. /etc/init.d/mysql start

これはすべて私のMySQLサーバーを救い出しました!

2
Dmitry Kovalev

同じ問題が発生しました。 error.logを確認したところ、ディスクがいっぱいであることがわかりました。

つかいます:

df -h 

コマンドラインで。残りのスペースがわかります。鉱山はいっぱいだった。 error.logファイルは4.77GBでした。ダウンロードして削除しました。次に、サービスmysqld startを使用し、機能しました。

1
Ken

試してみる

netstat -a -t -n | grep 3306 

3306ポートを聞いている人を見るために、それを殺します

私は2日間この問題を抱えていました。フォーラムに投稿されたソリューションを試してみると、誤ってログにこのエラーが表示される状況に遭遇しました

別のmysqldプロセスがまだないことを確認してください

1
Harry

将来ここにいる人のために、上記のすべての方法が機能しない場合は、次の方法でmy.cnfファイルを確認してください。

$ Sudo gedit /etc/my.cnf

次で始まる行を見つけます。

bind-address=[an-IP-address]

等号の後のIPアドレスが正しいかどうかを確認します。 IPがわからない場合は、localhostを使用するだけで、同じホスト内でのみMySQLに接続できます。

MySQLにリモートで接続する場合、実際にその行を完全にコメントアウトする必要があります。パブリックIPv4経由でリモートで接続するため、必要なすべてのIPとポートでリッスンします。

その後、次のようなデータベースにアクセスするユーザーを追加します。

mysql> GRANT ALL ON database_name.* TO [email protected] IDENTIFIED BY 'your_password';

Xx.xx.xx.xxをラップトップ/デスクトップのローカルIPアドレスに置き換えるか、動的な場合は、「192.168.0。%」を動的Cクラスとして、または「%」を使用して追加できます。どこからでも接続できるようにする(これは安全性が低い)

また、ファイアウォールがインストールされている場合は、ファイアウォールのポートを開く必要があります。

たとえば、Ubuntuの場合:

Sudo ufw allow 3306/tcp
Sudo service ufw restart

次に、次の方法でサービスが開始可能かどうかを確認します。

$ Sudo service mysqld start
1
Duc Filan

メモリ不足のためデータベースがシャットダウンされました!グラフの下のmy.cnfファイルを編集して解決できます

performance_schema_max_table_instances=200
table_definition_cache=200
table_open_cache=128
1
haichao hu

RE:MySQLデーモンの起動に失敗しました-centos 6/RHEL 6

  1. Yum Install MySQL
  2. /etc/init.d/mysqld start MySQLデーモンの起動に失敗しました。 mysqldの開始:[失敗]

  3. ログを確認します:/var/log/mysqld.log

  4. 次のエラーが表示される場合があります:[エラー] mysql.pluginテーブルを開けません。 mysql_upgradeを実行して作成してください。

私のために働く解決策はこれを実行しています:

  1. $ mysql_install_db

これで問題が解決しない場合はお知らせください。

0
RAVicioso

ここを参照してください 2.10.2.1 MySQLサーバーの起動に関する問題のトラブルシューティング

1.dataディレクトリを見つけます。これはmy.cnfで設定されました。

[mysqld]
datadir=/var/lib/mysql

2.エラーファイルを確認し、mysqlサーバーの起動に失敗した理由に関するエラーメッセージを記録します。 errファイルの名前はホスト名に関連しています。

cd /var/lib/mysql
ll
tail (hostname).err

3.次のようなメッセージが見つかった場合:

InnoDB: Error: log file ./ib_logfile0 is of different size 0 33554432 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
170513 14:25:22 [ERROR] Plugin 'InnoDB' init function returned error.
170513 14:25:22 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170513 14:25:22 [ERROR] Unknown/unsupported storage engine: InnoDB
170513 14:25:22 [ERROR] Aborting

それから

ib_logfile0およびib_logfile1を削除します

、その後、

/etc/init.d/mysqld start
0
henry ren

許可の問題である可能性があります。

次のコマンドを試してください/etc/init.d/mysqld start rootユーザーとして。

0
user3713700

このエラーが発生しました。 mysqlサーバーにリモートで接続できませんでした。サービスmysqld restart(ルートを使用)でmysqlサーバーを再起動しようとしました。停止しましたが、再び起動しませんでした。私の記憶がいっぱいだったことが判明。数GBをクリアし、正常に機能しています。

0
SGjunior

AIM Linux Amazon EC2でyumを使用している場合、セキュリティのために、ディレクトリ/ var/lib/mysqlの完全なバックアップを作成します。

Sudo yum reinstall -y mysql55-server

Sudo service mysqld start
0