編集:チェックマークが付いた回答のコメントを見て、問題を解決します。
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
このエラーの最も可能性の高い原因は、mysqlサーバーが実行されていないことです。 mysql
と入力すると、mysqlクライアントが実行されます。
試してください:
# Sudo service mysql start
# mysql
更新(OPが質問にログインした後、以下のコメントから取得):
ありがとう、ログを見た。ログには、mysqlユーザーに適切なアクセス権がないことが示されています。 mysqlユーザーはmysqlであると仮定しています(これは
/etc/my.cnf
、実行
chown -R mysql:mysql /var/lib/mysql
mysqld
をもう一度開始してみてください。
Apacheを再起動してくださいSudo service httpd restart
。私のために働いた。
これを実行します:
chown -R mysql:mysql /var/lib/mysql
そしてさらに試みる!
/etc/init.d/mysqld stop
mysqld_safe --skip-grant-tables &
mysql_upgrade
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
ルート(/)パーティションからいくつかのスペースを解放する必要がある場合があります。次の方法で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
私のために働いたさらに別のヒント。次のコマンドを実行します。
$ mysql_install_db
/etc/init.d/mysql stop
chown -R mysql:mysql /var/lib/mysql
mysql_install_db
/etc/init.d/mysql start
これはすべて私のMySQLサーバーを救い出しました!
同じ問題が発生しました。 error.logを確認したところ、ディスクがいっぱいであることがわかりました。
つかいます:
df -h
コマンドラインで。残りのスペースがわかります。鉱山はいっぱいだった。 error.logファイルは4.77GBでした。ダウンロードして削除しました。次に、サービスmysqld startを使用し、機能しました。
試してみる
netstat -a -t -n | grep 3306
3306ポートを聞いている人を見るために、それを殺します
私は2日間この問題を抱えていました。フォーラムに投稿されたソリューションを試してみると、誤ってログにこのエラーが表示される状況に遭遇しました
別のmysqldプロセスがまだないことを確認してください
将来ここにいる人のために、上記のすべての方法が機能しない場合は、次の方法で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
メモリ不足のためデータベースがシャットダウンされました!グラフの下のmy.cnfファイルを編集して解決できます
performance_schema_max_table_instances=200
table_definition_cache=200
table_open_cache=128
RE:MySQLデーモンの起動に失敗しました-centos 6/RHEL 6
/etc/init.d/mysqld start MySQLデーモンの起動に失敗しました。 mysqldの開始:[失敗]
ログを確認します:/var/log/mysqld.log
私のために働く解決策はこれを実行しています:
これで問題が解決しない場合はお知らせください。
ここを参照してください 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
許可の問題である可能性があります。
次のコマンドを試してください/etc/init.d/mysqld start
rootユーザーとして。
このエラーが発生しました。 mysqlサーバーにリモートで接続できませんでした。サービスmysqld restart
(ルートを使用)でmysqlサーバーを再起動しようとしました。停止しましたが、再び起動しませんでした。私の記憶がいっぱいだったことが判明。数GBをクリアし、正常に機能しています。
AIM Linux Amazon EC2でyumを使用している場合、セキュリティのために、ディレクトリ/ var/lib/mysqlの完全なバックアップを作成します。
Sudo yum reinstall -y mysql55-server
Sudo service mysqld start