MySQLは/ tmp/mysql.sockにデフォルトではなくなりました
質問
MySQLが/tmp/mysql.sockを使用していないときにMySQLに正しく接続できないかどうかを確認するためにいくつかのソフトウェアをテストしていました。
MySQLを停止しました。editated /etc/my.cnf socket= / var / lib / mysql / mysql.sockを追加し、MySQLは新しいソケット上にありました。
私のソフトウェアを修正しました。
今すぐMySQLを停止し、/etc/my.cnfからsocketステートメントを削除し、MySQLを再起動し、まだ/var/lib/mysql/mysql.sockを使用しています。
再起動し、/tc/mysql.cnfを/tc/my.cnfに追加していない限り、testing constraintsのためにそれをしたくない限り、/tmp/mysql.sockを使用できません。
設定パラメータがない場合は/tmp/mysql.sockが存在しなくなり、Commmand Lineパラメータ(PS AUXから参照できる)がないのはなぜですか?
Linux CentOS 6.5最後の I686上のLinux用MYSQLD Ver 5.6.17(MySQL Community Server(GPL))
これで私を助けてください。
andx
ログエントリ
Generalacodicetagpre
解決
MySQL Documentation 状態mySQL.SOCKへのデフォルトパスは、RPMディストリビューションの/var/lib/mysql/
です。パスはターゲットOSに応じてコンパイル時に設定され、設定またはコマンドラインによって上書きされることができるので、CentOSの場合あなたが見ている動作は正しいです。
これは、ソケットパスが他のメカニズムによってもともと/tmp
に設定されている必要があることを意味します。これが行われたかもしれない場所がいくつかあります。 initスクリプト /etc/init.d/mysql.server
コマンドライン - これは、サポートされていない場合でも、initスクリプトで実行できます。)またはローカルオプションファイル。 このページ MySQLの優先順位のドキュメント起動オプションを処理するときの注文。テーブルの後半にリストされているエントリは前のものを上書きします。
ソケットパスの変更に至るまでのイベントのシーケンスを追跡することはできませんが、幸いなことに、ユーザー固有のオプションファイルであるsocket=/tmp/mysql.sock
を介して変更できます。
他のヒント
昨夜私に起こったような何かを楽しみにしています。私はSourceからrootユーザーとしてMySQLをインストールしようとしています。/ var / xxx&cに関するメッセージも取得しました。 rootに行き、sudo findを実行してください。 -name "my.cnf"とあなたがそれらのファイルの1つで探しているものを見つけるべきです - 存在する場合は。 Dartonwが指摘しているように、それはあなたのinitスクリプトの中に何かかもしれません - 最初の解決策が機能しない場合は、sudo findを実行してください。 -name "mysq *" | grep -v "/ usr / bin" - そしてどのinitファイルが存在するかを見てください。 grep -v "/ usr / bin"は、検索からMySQL実行可能ファイル(または類似していない)を削除します。 NB フォーラムソフトウェアが機能する方法のために、grepコマンドで\(バックスラッシュ)で/(バックスラッシュ)をエスケープする必要があります。
[更新] MySQLクライアントライブラリをインストールすると、/ etc / mysqlに/ etc / mysqlに/var/run/mysqld.sockと/var/run/mysqld.pidが拾う可能性があります。 。これを私のコストに学んだ - _anotherosの再インストール!_