MySQL

MySQL5の設定などのメモ
[最終更新日: 2008/04/21]

1. 言語とデフォルト文字コードの設定

| INDEX

MySQLの設定ファイルmy.cnfに指定する。

以下の例では、UTF-8で設定している。

[client]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

[mysqld]
language=/usr/share/mysql/japanese
default-character-set=utf8

設定した内容の確認は、以下のようにする。

mysql> show variables like 'character%';

2. mysql, mysqladminコマンド

| | INDEX
ルートのパスワードの作成
mysqladmin -u root password '新しいパスワード'
mysqlコマンドの利用

ユーザ:rootでログインする例。パスワード入力を求められる。

mysql -b -uroot -p

なお、-bは--no-beepです。mysqlでのビープ音を消したい場合は指定するといいかも。

mysqlのコマンドラインでできることは、ログイン後にhelpで確認。

mysql> help

3. DBユーザ情報の管理

| | INDEX
現在登録されているユーザの確認
mysql> select host,user,password from mysql.user;
ユーザの作成

ユーザ作成と同時に権限の付与とパスワードの設定を行う例。

データベース:DBNAMEのすべてのテーブルについて、すべての権限をUSERに与える。

mysql> grant all privileges on DBNAME.* to USER identified by 'PASSWORD';
ユーザのパスワードの変更
mysql> set password for USER=password('PASSWORD');
ユーザの削除
mysql> delete from mysql.user where user='USER';
mysql> flush privileges;

4. DBのテーブル情報確認

| | INDEX
DB内に存在するDBのリスト取得
mysql> show tables;
テーブルの情報を確認する
mysql> show create table TABLENAME;

5. DBの文字コードの指定

| INDEX

指定がなければmy.cnfのデフォルト設定が採用されるのだけど、DB作成時などに指定してもいいかもしれない。

以下はUTF-8を指定する例。

mysql> alter database DBNAME default character set utf8;

同時にCOLLATEの指定をする例 (検索の結果順などに影響するかも)

mysql> alter database DBNAME default character set utf8 collate utf8_unicode_ci;
.