システム開発をしていると、どうしても コマンドプロンプト
や ターミナル
からデータベースに接続しなければならないケースがある。
そんなときにどのように書けばよいか。
よく忘れるので自分用にも書いておく。
mysqlコマンドは実行できる前提
前提として コマンドプロンプト
や ターミナル
からmysqlコマンドが実行できる必要がある。
以下のようなメッセージが出てしまう場合は、環境変数なりを設定して mysql.exe
や mysql
があるディレクトリにpathを通しておくこと。
'mysql' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
Windows 10 で PATH 環境変数を設定する方法 - Qiita
接続情報をオプションで指定
mysqlコマンドせMySQLに接続するのに必要な情報は大体以下の4つである。
- 接続ユーザー
- パスワード
- 接続ホスト(IPやドメイン)
- データベース名
これらを使って接続する場合は以下のようにコマンドを実行する。
mysql --user=[接続ユーザー] --password=[パスワード] --host=[接続ホスト] [データベース名]
パスワードを手動で入力する場合は -p
--password=[パスワード]
だと画面にパスワードが表示されてしまう。
パスワードを表示させずに手動で入力する場合は代わりに -p
だけ指定すると、接続時にパスワード入力が求められる。
順番に注意
データベース名は必ずオプションの最後に指定すること。
最後以外に指定するとデータベースに未接続でログインだけした状態になるので、そのあとSQLファイル等を実行しようとしても mysqlコマンドのヘルプ が表示されてしまう。
(-D
で指定すれば最後じゃなくても大丈夫らしい。)
参考
MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.5.1 mysql — MySQL コマンド行ツール
MySQLコマンド覚え書き - Qiita
MySQLに接続するユーザー名とパスワードの指定 - MySQLコマンドラインツールの使い方