mysql

mysql

TIPS

初期設定

文字コードの設定

サーバとクライアントがきちんとutf-8で会話するように/etc/my.cnfを設定する必要がある。参考サイトを参照のこと。

rootパスワードの設定など

mysqlをインストールした状態では、rootというユーザだけが定義されており(anonymousもあるようだが、どうせ削除する。というか、こんなものがいるのか?)、以下の状態になっている。

そこで、まずはrootのパスワードを設定しなければならない。mysqldを起動した状態で、mysql_secure_installationコマンドを使用する。 個別にrootパスワードを設定する方法もあるのだが(この方法を紹介しているサイトが実に多い)、ウィザード風のmysql_secure_installtionを使用した方が簡単。

# mysql_secure_installation

このウィザードで、rootのパスワード設定、anonymousユーザの削除、testデータベースの削除等ができる。

操作

mysqlコマンドの操作

mysqlを操作するには、mysqlという「シェル」(?)を使う。このコマンドのパラメータは実に不思議で、以下のように記述する。

# mysql -u root -pパスワード

「-p」と「パスワード」の間に空白を入れてはいけない。 ただし、これではパスワードがエコーバックされてしまうので、以下のように入力するのが普通らしい。

# mysql -u root -p

このあとで、mysqlコマンドはパスワード入力を求めるが、それはエコーバックされない。

mysqlの中で使えるコマンドは以下の通り

データベースのリストア

mysqlシェル(?)の中ではデータベースのリストアはできない。しかし、リストアするためには、あらかじめデータベースを作成しておかなければならないので、

という手順を踏む(もしかしたらシェルに入らなくともDB作成はできるかも)。リストアは以下のようにする。

# mysql -u user -pパスワード データベース名称 < バックアップファイル

データベース名称を忘れると、「全データベースをリストアする」という意味になるらしい。 一つのデータベースのバックアップを指定して「全データベースをリストア」しても、対象は一つだけになるのだろうか?不明である。

※最近のバージョンでは、以下のようにしないといけない(もちろんutf8のみ?)

# mysql -u user -pパスワード --default-character-set=utf8 データベース名称 < バックアップファイル

トラブル

mysqlコマンドにポート指定しても無視される

「--port=port_num」、「-P port_num」のようにポートを指定しても無視される。

チューニング

参考サイト

last edited 2014-06-13 02:13:12 by ysugimura