Mac osx 10.9.5でmysqlを起動して実行しようとしています。最新バージョン14.14
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ホスティングはありますが、最初にコマンドラインで把握できるようにしたいと思います。
そのため、ターミナルがコマンドを探す場所はほとんどありません。この場所は$PATH
変数に保存されます。これは、端末が繰り返しコマンドを検索するグローバル変数と考えてください。これは通常、/ binフォルダーが通常参照される方法を示すバイナリです。
/bin
フォルダーには、多数の実行可能ファイルが含まれています。これはコマンドです。この異なるフォルダーの場所は、1つのグローバル変数、つまり$PATH
で区切られた:
内に格納されます
通常、インストール時のプログラムは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バイナリをエクスポートする必要があります。そのため、パスで連結を維持する必要があります。
ターミナルが dotfiles
と呼ばれるものを使用して、ターミナルの初期化時に設定をロードすることに気付いているかもしれません。私は、ターミナルの新しいインスタンスが作成されるたびに、コンストラクタに渡されるもののセットであると考えるのが好きです(再び仮定ですが、それが何をしているのかに近い)。はい、これで私たちがやろうとしていることを理解できます。
.bash_profile
は、既知の主要なdotfile
の1つです。
したがって、次のコマンドでは、
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
これは、特定のファイルをリロードするよう端末に指示します。
これは、/ usr/local/mysql/bin/mysqlがPATH変数にないことを意味します。
/ usr/local/mysql/bin/mysqlを実行してmysqlシェルを取得するか、
または、ターミナルでこれを入力します:
PATH=$PATH:/usr/local/mysql/bin
それをPATH変数に追加して、パスを指定せずにmysqlを実行するだけです
私にとっては、次のコマンドが機能しました:
$ brew install mysql
$ brew services start mysql
次のようにMySQL .bash_profile
を追加することにより、$PATH
を変更できます。export PATH=$PATH:/usr/local/mysql/bin
。
私は次のことをしました:
1-ターミナルを開き、$ nano .bash_profile
または$ vim .bash_profile
2-次のPATHコードを.bash_profile
に追加します
# Set architecture flags
export ARCHFLAGS="-Arch x86_64"
# Ensure user-installed binaries take precedence
export PATH=/usr/local/mysql/bin:$PATH
# Load .bashrc if it exists
test -f ~/.bashrc && source ~/.bashrc
3-ファイルを保存します。
4- $ source ~/.bash_profile
を使用してターミナルを更新
5-確認するには、ターミナル$ mysql --version
と入力します
6-次のような出力を印刷する必要があります。
$ mysql Ver 14.14 Distrib 5.7.17, for macos10.12 (x86_64)
ターミナルは$PATH
に配置されている.bash_profile
からMySQLコマンドを読み取るように構成されました。
Mysqlの最新バージョンでない場合、mysqlインストールへのシンボリックリンクを作成する必要があります。
$ brew link --force [email protected]
次のようにbashプロファイルを変更します。<> $ vim〜/ .bash_profile export PATH =/usr/local/mysql/bin:$ PATH保存したら、mysqlと入力してmysqlプロンプトを端末に表示できます。