MySQLメモ

▽HWM(ハイウォーターマーク)

・SHOW TABLE STATUS の Data_free は、
「割り当てられているうちの未使用の領域」
→「テーブル全体のファイルの中にあるデータの”空き”」を示す。
DELETE 文を実行して生じるこの空きを「オーバーヘッド」と呼ぶ。

・OPTIMIZE TABLE
テーブル内の多くのレコードを削除したり、
可変長の型のフィールドを持つテーブルに対して大きな変更をしたあとに
OPTIMIZE TABLE 文で最適化する必要がある。
→結果として、
 ・Data_free フィールドの値がゼロ、
 ・Data_length フィールド(データファイル全体の長さ)の値が変化する。

▽ユーザの管理
mysql.user 表にて、ユーザ権限情報が管理されている。
・myswl.db 表にてデータベース×User単位のACLが管理されている。

・ユーザの追加
1) INSERT 文から追加する方法
例:root ユーザと同じ権限をもつユーザ作成

mysql> INSERT INTO user
    -> VALUES('localhost', 'duka', PASSWORD('****'),
    -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
    -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', '','','','',0,0,0);
Query OK, 1 row affected (0.00 sec)
mysql> select User, Password from user;
+------+------------------+
| User | Password         |
+------+------------------+
| root | 615d1d7a6cdd2f06 |
| root |                  |
|      |                  |
|      |                  |
| duka | 615d1d7a6cdd2f06 |
+------+------------------+

ハッシュ値から同一パスワードであることは解るのがつらい(笑)。

phpMyAdmin

運用に便利かと思い入れてみる。
参照
http://72.14.235.104/search?q=cache:X3QQZ3w0n90J:perltips.twinkle.cc/php/phpmyadmin_28x.php+phpMyAdmin-2.8.2%E3%80%80%E8%A8%AD%E5%AE%9A&hl=ja&gl=jp&ct=clnk&cd=2

まず、

mysql> create database pma;
INSERT INTO user
VALUES('localhost', 'pma', PASSWORD('*******'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', '','','','',0,0,0);
mysql> grant all on *.*
-> to pma@localhost
-> identified by '*******';
Query OK, 0 rows affected (0.02 sec)

# mkdir config (phpMyAdmin の中に、ディレクトリ名 config を作成)
# chmod o+rw config (アクセス権を設定)

http://192.168.1.1/phpMyAdmin/scripts/setup.php
config/config.inc.php に設定が書かれる。


Linux に、phpMyAdmin 2.8.2 をインストールする方法は簡単で、
「scripts/setup.php 実行後、config/config.inc.php を ./ にコピー」 すればよい(Thanks、はてなの bangbangshoot さん)