Windows のコマンドラインから mysql のデータディレクトリを検索する方法
Linuxでは、「which mysql」というコマンドでmysqlのインストールディレクトリを見つけることができました。しかし、Windowsでは見つかりませんでした。echo %path%`を試したところ、mysql binへのパスに加えて多くのパスが得られました。
バッチプログラムで使用するために、Windows のコマンドラインから mysql データディレクトリを見つけたかったのです。また、linuxのコマンドラインからもmysqlデータディレクトリを見つけたいと思っています。それは可能でしょうか、あるいはどのようにしてできるのでしょうか?
私の場合、mysqlのデータディレクトリはインストールフォルダの中にあります。それをコマンドラインから返して欲しいのです。
181
3
コマンドラインから次のようなクエリを発行することができます。
出力されます(Linuxの場合)。
出力(macOS Sierraの場合)。
また、dirが使用するデータのみが欲しい場合。
これらのコマンドはWindowsでも動作しますが、シングルクォートとダブルクォートを反転させる必要があります。
なお、Linuxで
which mysql
を実行すると、Linuxではinstallationディレクトリは取得できません。Linuxでは/usr/bin
というバイナリパスしか得られませんが、mysqlのインストールでは複数のフォルダを使ってファイルを保存していることがわかります。datadirの値を出力として必要とし、カラムヘッダなどを含まずにそれだけを必要とするが、GNU環境(awk|grep|sed ...)を持っていない場合は、以下のコマンドラインを使用します。
このコマンドは、mysql's internal
information_schema
データベースからのみ値を選択し、表形式の出力とカラムヘッダを無効にします。Linuxでの出力です。
これを試してみてください。
PS- すべてのプラットフォームで動作します。
LinuxやWindowsでdatadirを見つけたい場合は、以下のコマンドを実行します。
``mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name = "datadir"'```` です。
datadirを見つけたい場合は、grep & awkコマンドを使用できます。