私はKubuntu 12.04にいて、apt-get(mysql ver:5.5.35)を介してmysqlをインストールした後、mysqlサービスを開始しようとしていますが、このエラーが発生しました:
Sudoサービスmysqlの開始
start:ジョブの開始に失敗しました
だから私はこの問題をグーグルで調べた、/ var/log/mysql/error.logに行かなければならない
しかし、私のerror.logファイルは空です:(
次に、許可を確認しました:
drwxr-s --- 2 mysql adm 4096 Apr 7 11:21 mysql
-rw-r ----- 1 mysql adm 0 Apr 7 11:21 error.log
だから私は何をすべきかわからない...なぜこのエラーですか?エラーファイルが空なのはなぜですか?
安全のために、最初に/ var/lib/mysql /ディレクトリのバックアップを作成します。
Sudo mkdir /home/<your username>/mysql/
cd /var/lib/mysql/
Sudo cp * /home/<your username>/mysql/ -R
次にMySQLをパージします(これにより、php5-mysqlとphpmyadminおよび他の多くのライブラリが削除されるため、この後にいくつかのアイテムを再インストールする準備をしてください。
Sudo apt-get purge mysql-server-5.1 mysql-common
フォルダー/ etc/mysql /を削除し、その内容を削除します
Sudo rm /etc/mysql/ -R
次に、古いデータベースファイルがまだ/ var/lib/mysql /にあることを確認します。そうでない場合は、フォルダーにコピーして、root:rootをchownします。
(ファイルがもう存在しない場合にのみこれらを実行します)
Sudo mkdir /var/lib/mysql/
Sudo chown root:root /var/lib/mysql/ -R
cd ~/mysql/
Sudo cp * /var/lib/mysql/ -R
次にmysqlサーバーをインストールする
Sudo apt-get install mysql-server
最後に、phpmyadminやphp5-mysqlなどの不足しているパッケージを再インストールします。
私の問題はメモリ不足でした。 Digital Oceanには、Ubuntu用のスワップメモリを追加するための優れた指示があります。 https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
これにより問題が解決し、他の方法では起動しなかったMysqlを再起動できました。
すべての値をデフォルトにリセットするため、再インストールは機能します。実際の犯人が何であるかを見つけた方が良いです(my.cnfの編集ミスが発生します。たとえば、mysqlチューニング中の不良/古いパラメーターの提案です)。
My.cnf内の値が間違っていると思われる場合のmysqlの診断は次のとおりです。mysqldを実行して結果を表示します。
Sudo -u mysql mysqld
その後、mysqldが正常に起動するまで、画面から飛び出るmy.cnfキーエラーをすべて修正します。
次に、それを使用して再起動します
Sudo service mysql restart
ほとんどの場合、mysql-serverパッケージを削除して再インストールするだけでジョブが実行されます。
走る、
Sudo apt-get purge mysql-server-5.1 mysql-common
に続く
Sudo apt-get install mysql-server
私の場合、単にディスクがいっぱいだからです。一部のディスク領域を空けて再起動するだけで、すべて問題ありません。
この行は私の場合の問題を解決しましたが、
Sudo apt clean
私の場合、私はやる:
Sudo nano /etc/mysql/my.cnf
bind
の名前とIPを検索します編集されている場合、ファイルのアクセス許可を確認します
失敗します:
$ Sudo chmod 776 /etc/mysql/my.cnf
$ Sudo service mysql restart
mysql stop/waiting
start: Job failed to start
OK:
$ Sudo chmod 774 /etc/mysql/my.cnf
$ Sudo service mysql restart
stop: Unknown instance:
mysql start/running, process 9564
所定のソリューションには十分な空きHDDが必要ですが、実際の問題はHDDメモリの不足でした。そのため、代替サーバーや空きディスク領域がない場合は、他の代替手段が必要です。
MySQLへの一括ダウンロードを実行しているときに、本番サーバー(Linode VPS)でこのエラーに直面しました。これは適切な解決策ではありませんが、非常に迅速な解決策であり、物事を高速化するために本番環境でしばしば必要になります。
同じ問題がありました。しかし、私は私のHDがいっぱいであることを発見しました。
$ Sudo cat /var/log/upstart/mysql.log
/proc/self/fd/9: ERROR: The partition with /var/lib/mysql is too full!
だから、私は走る
$ df -h
そして、私はメッセージを受け取りました
/dev/xvda1 7.8G 7.4G 0 100% /
次に、ターミナルで次のコマンドを実行して、どのフォルダーがいっぱいかを見つけました
$ cd /var/www
$ for i in *; do echo $i; find $i |wc -l; done
これにより、/ var/wwwの各フォルダーにあるファイルの数がわかります。ほとんどのファイルでフォルダーにログインし、いくつかのバックアップファイルを削除し、不要なファイルとキャッシュファイルを削除し続けました。
それから$ Sudo /etc/init.d/mysql startを実行すると再び動作します
完全なディスクを持っていない人がこの問題をトラブルシューティングできるように、まずエラーログを調べます(私にとっては、パスは/etc/mysql/my.cnf
ファイル):
tail /var/log/mysql/error.log
問題は、ネットワークルーターの再構成後に割り当てられた新しいIPアドレスであることが判明したため、bind-address
変数。
私の場合: