Mac OS X 10.9.5 で MySQL を起動して実行しようとしています。
MySQL Community Server の最新バージョンをインストールしました5.6.21
。システム環境設定に移動して MySQL サーバーを起動し、ターミナルを起動して次のように入力しました。
/usr/local/mysql/bin/mysql --version
これはバージョンを返すはずです。しかし、mysql コマンドのいずれかを入力すると、次のようになりますcommand not found
。
私も試しました:
sudo mysql_secure_installation
mysql -u root --password=password`
MySQL などがインストールされた Web ホスティングはありますが、まずはコマンド ラインで操作方法を理解したいと思っています。
ベストアンサー1
したがって、ターミナルがコマンドを探す場所はほとんどありません。これらの場所は$PATH
変数に格納されます。ターミナルがコマンドを検索するために反復するグローバル変数と考えてください。これは通常、/bin フォルダーが通常参照されるバイナリです。
/bin
$PATH
フォルダにはたくさんの実行ファイルがあります。これはコマンドです。これらの異なるフォルダの場所は、1つのグローバル変数に格納されます。つまり、:
現在、通常、インストール時にプログラムが更新されPATH
、すべてのコマンドをフォルダー内に保存できることが端末に通知されますbin
。
結局、MySql はインストール時にこれを実行しないので、手動で実行する必要があります。
次のコマンドで実行します。
export PATH=$PATH:/usr/local/mysql/bin
分解すると、export
説明は不要です。代入として考えてください。つまり、古い値を持つexport
変数を新しい値と連結するということです。PATH
$PATH
bin
/usr/local/mysql/bin
この方法では、実行後に内部のすべてのコマンド/usr/local/mysql/bin
が利用できるようになります。
ここでちょっとした問題があります。1 つのターミナル ウィンドウをプログラムの 1 つのインスタンスと考え、おそらく$PATH
クラス変数のようなもの ( おそらく ) と考えてください。これは単なる仮定であることに注意してください。したがって、閉じると新しい割り当ては失われます。また、ターミナルを再度開くと、コマンドに再度アクセスできなくなります。これは、最後にエクスポートしたときにコマンドが揮発性のプライマリ メモリに保存されたためです。
ターミナルを使用するたびに、mysql バイナリをエクスポートする必要があります。そのため、パスに concat を保持する必要があります。
ご存知かもしれませんが、私たちの端末はdotfiles
ターミナルの初期化時に構成をロードします。ターミナルの新しいインスタンスが作成されるたびにコンストラクターに渡されるもののセットと考えるのが好きです (これも仮定ですが、実際に行われていることに近いです)。これで、これから何をするかがおわかりいただけたと思います。
.bash_profile
は、知られている主要なものの 1 つですdotfile
。
次のコマンドでは、
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
echo
私たちがやっていることは、出力文字列の結果を~/.bash_profileに保存することです。
前述のとおり、ターミナルまたはターミナルのインスタンスを開くたびに、がdotfiles
ロードされます。 が.bash_profile
それぞれロードされ、export
上記で追加したものが実行され、グローバル$PATH
が更新され、すべてのコマンドが内部に取得されます/usr/local/mysql/bin
。
追伸
最初のコマンドエクスポートを直接実行しておらず、それを永続化するために2番目だけ実行している場合はどうでしょうか? 現在実行中のターミナルインスタンスの場合は、
source ~/.bash_profile
これにより、ターミナルに特定のファイルを再ロードするように指示します。