MySQLへの接続
MySQLサーバーに接続
mysqlクライアントプログラムには、接続したいホスト名、接続ユーザー名、パスワードといった引数を渡すことができます。 mysqlコマンドを使ってMySQLに接続する際、引数がなければデフォルト値が使われます。デフォルトのホスト名はlocalhost、ユーザー名はUNIXのログイン名です。
mysql [-h ホスト名] [-u ユーザ名]
[-p パスワード]
-pコマンドラインでパスワードを入力する際は、オプションの直後にパスワードを入力します。たとえば、rootアカウントでnew_passというパスワードを入力する際は、次のようになります。
mysql -u root -pnew_pass
パスワードを指定する-pオプションに値を渡さなかった場合は、次のようにコマンドラインからパスワードの入力を促されます。
mysql -u ユーザ名 -p
Enter password: ********
セキュリティ的にコマンドラインでパスワードを入力するのは望ましくないので、上記のように-pオプションに引数を渡さずに、Enter
passwordと入力を促されてから入力するようにしたほうがよいでしょう。
Unix系OSのログインユーザーがrootの場合、以下のコマンドはどれも同じ意味になります。
mysql -h localhost -u root
mysql -h localhost
mysql -u root
mysql
管理者パスワードの設定
rootのパスワード設定
MySQLをインストールすると、自動的にrootという特殊なユーザが作成されます。rootは、UNIX系OSなどで管理ユーザのアカウント名として使われていますが、MySQLのユーザアカウントはOSのユーザアカウントとは別のものです。ただし、MySQLへのログイン時にユーザ名が指定されていないときは、現在のログインしているユーザ名をMySQLのユーザー名としてログインを試みてくれます。
初期状態のrootはパスワードが設定されていないので、まずはmysqlにログインし、rootのパスワードを設定します。
rootでmysqlにログイン
アカウントrootでmysqlにログインするには、-uオプションでアカウント名を指定します。
mysql -u root
パスワードを設定
ログインが済んだら、SET PASSWORD構文を使ってrootのパスワードを設定しましょう。
SET PASSWORD FOR root=PASSWORD('新しいパスワード');
mysqladminでrootのパスワード設定
コマンドラインでも、mysqladminコマンドでパスワードを設定することができます。
mysqladmin -u root password 新しいパスワード
mysqladmin reload
mysqladminを使ってパスワードを設定した後は、mysqladminのreloadコマンドを実行します。これで、新しいパスワードが有効になります。
パスワード設定後のMySQLへの接続
.my.conf設定ファイルにパスワードを設定
設定ファイルにパスワードを書いておくこともできます。そうすることにより、毎回毎回コマンドラインに引数を与えなくてすむようになります。まず、自分のホームディレクトリに.my.cnfを作り、そのファイルの中の [client] セクションに接続用のパラメターを記述します。
[client]
host=host_name
user=user_name
password=your_pass
.my.cnfファイルはグループやその他のユーザーが読み書きできないようにしましょう。ファイルのパーミッションは 400 か 600 に設定します。
知っておくと便利なキー操作
mysqlのコマンドプロンプトのキー操作一覧です。
キー | 説明 |
---|---|
[←] | カーソルを左に移動 |
[→] | カーソルを右に移動 |
[↑] | 前のSQL文やコマンドを表示(ヒストリ) |
[↓] | 後のSQL文やコマンドを表示(ヒストリ) |
[Ctrl]+[A] | カーソルを行頭に移動 |
[Ctrl]+[E] | カーソルを行末に移動 |
[DEL] | 一文字削除 |
[BS] | カーソルの前の一文字を削除 |
[Tab] | 途中まで入力したSQL構文や、フィールド名を補完 |