MySQL Administrator と MySQL Query Browserどちらのツールも
データベース(スキーマ)作成、テーブル作成などが出来ますが、
データの変更はMySQL Query Browserのみが出来ます。

① MySQLAdministratorでのデータベースの作成

mysqladmin_cratedb

② MySQLAdministratorでのテーブルの作成
mysqladmin_cratetable

Maintenanceは…

[Optimize Table] — テーブルの最適化
[Check Table] —– テーブルのチェック
[Repair Table] —- テーブルの修復


MYSQLのヘルプを確認する方法

コマンドから

[root@colinux mysql]# mysql -e 'help show' -u root -p
Enter password:
Name: ‘SHOW’
Description:
SHOW has many forms that provide information about databases, tables,
columns, or status information about the server. This section describes
those following:

SHOW AUTHORS
SHOW CHARACTER SET [like_or_where]
SHOW COLLATION [like_or_where]
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]
SHOW CONTRIBUTORS
SHOW CREATE DATABASE db_name
SHOW CREATE EVENT event_name
SHOW CREATE FUNCTION funcname
SHOW CREATE PROCEDURE procname
SHOW CREATE TABLE tbl_name
SHOW CREATE TRIGGER trigger_name
SHOW CREATE VIEW view_name
SHOW DATABASES [like_or_where]
SHOW ENGINE engine_name {STATUS | MUTEX}
SHOW [STORAGE] ENGINES
SHOW ERRORS [LIMIT [offset,] row_count]
SHOW [FULL] EVENTS
SHOW FUNCTION CODE sp_name
SHOW FUNCTION STATUS [like_or_where]
SHOW GRANTS FOR user
SHOW INDEX FROM tbl_name [FROM db_name]
SHOW INNODB STATUS
SHOW OPEN TABLES [FROM db_name] [like_or_where]
SHOW PLUGINS
SHOW PROCEDURE CODE sp_name
SHOW PROCEDURE STATUS [like_or_where]
SHOW PRIVILEGES
SHOW [FULL] PROCESSLIST
SHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]
SHOW PROFILES
SHOW SCHEDULER STATUS
SHOW [GLOBAL | SESSION] STATUS [like_or_where]
SHOW TABLE STATUS [FROM db_name] [like_or_where]
SHOW TABLES [FROM db_name] [like_or_where]
SHOW TRIGGERS [FROM db_name] [like_or_where]
SHOW [GLOBAL | SESSION] VARIABLES [like_or_where]
SHOW WARNINGS [LIMIT [offset,] row_count]

show_help

MYSQLコマンドプロンプトから

mysql> help show

help_show


MYSQLのSOURCEコマンドでSQLのセッションから
事前に準備してあったスクリプトを実行する方法。

事前にパフォーマンス確認用に準備してあったスクリプトなどを読み込む場合など便利ですね。

mysql> SOURCE /tmp/mysql_insert.sql
Query OK, 1 row affected (0.02 sec)

source


MYSQLでCronなどを利用してバッチを実行するときなど、
あらかじめ準備してあったスクリプトを実行する場面が多いと思います。
そんなときは、以下のようにスクリプトにMYSQLコマンドを書いておいて実行して対応。

[root@colinux mysql]# cat mysql_insert.sql
insert into T1(name,comment) values(‘DEMO USER’,’INSERT DATA INTO COMMENT’);
[root@colinux mysql]# mysql -h colinux -p -u root TEST < mysql_insert.sql
Enter password:
[root@colinux mysql]#

mysql_script

スクリプト実行後にデータがきちんとINSERTされていることを確認。
data_confirmation

=================================================
エラーが起きようとも無視して実行する場合は"force"オプションを利用
=================================================
[root@colinux mysql]# mysql --force -h colinux -p -u root TEST < mysql_insert.sql
Enter password:

force


mysql_explain_log

1) 一般ログの全てのSELECTとUPDATE文の抽出
2) MySQLに接続した上で、1)で抽出したSQL文をEXPLAINで実行する。
この時UPDATE文は同等の検索処理を行うSELECT文に変換。
3) EXPLAINの実行結果を要約し、牽引検索の回数や全表検索になったSQL文
などを表示する。

mysql_explain_logを試そうと思いましたが、MYSQL5.1からインストールされないようなので
MYSQL5.0xxをダウンロードしてコピーして利用してみました。


mysql_explain_log (a third-party program) is no longer included in MySQL distributions.

mysql-5.0.83-linux-i686-icc-glibc23.tar.gz

[root@colinux bin]# pwd
/usr/local/src/mysql-5.0.83-linux-i686-icc-glibc23/bin
[root@colinux bin]# cp -p mysql_explain_log /usr/local/mysql/bin/
[root@colinux bin]#

my.cnfにlog=の設定が無かったので、まず最初に設定を入れて再起動した後に
幾つかコマンドを実行してみました。

generallog

DBDやDBIが無かった….. まずインストールしないと利用出来ないのでインストールしました。

1) DBIをyumでインストール

[root@colinux src]# yum -y install perl-DBI
fedora 100% |=========================| 2.1 kB 00:00
updates 100% |=========================| 2.3 kB 00:00

dbi

2) DBDをyumでインストール

[root@colinux DBD-mysql-4.011]# yum install perl-DBD-MySQL
Setting up Install Process
Parsing package install arguments
Resolving Dependencies

dbd

さて実行しようと思いましたが、以下のエラーが出たので

[root@colinux data]# mysql_explain_log /usr/local/mysql/data/mysql-general.log
explain_log provided by http://www.mobile.de
=========== ================================
Error: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

ユーザー、パスワード、socketの場所を変更して再実行しました。

vi /usr/local/mysql/bin/mysql_explain_log

$Param->{host}=”;
$Param->{user}=’root’;
$Param->{password}=’password’;
$Param->{PrintError}=0;
$Param->{socket}=’/tmp/mysql5.1.sock’;

以下のような結果が表示されました。
[root@colinux data]# mysql_explain_log /usr/local/mysql/data/mysql-general.log

mysql_explain1


show global statsu

show_global_statsu

mysqladmin -u root -p extended-status

mysqladmin_global_status

mysqladmin extended-status と show global statsuは同じ結果が返ってくる。
が、mysqladmin extended-statusにはもう少し便利な利用方法がある。

基本的には、mysqladmin extended-status と show global statsuは絶対値を
表示するので、MYSQLを起動してからの累計した数値が表示される。
増分のみを確認したい場合は以下のようにコマンドを実行する事で対応する事が可能です。

-r (relativeで前回表示時点との差分を返す)
-i (intervalで指定した秒間隔ごとに表示する)

[root@colinux mysql]# mysqladmin extended-status -r -i 5 -p | grep Com_select
Enter password:
| Com_select | 1 |
| Com_select | 0 |
| Com_select | 0 |
| Com_select | 0 |
| Com_select | 1 |
| Com_select | 1 |
| Com_select | 0 |
| Com_select | 0 |
| Com_select | 1 |
| Com_select | 0 |
| Com_select | 5 |
| Com_select | 4 |
| Com_select | 0 |

mysqladmin_extgened_status

[root@colinux mysql]# mysqladmin extended-status -r -i 5 -p | grep Slow_queries
Enter password:
| Slow_queries | 0 |
| Slow_queries | 0 |
| Slow_queries | 0 |
| Slow_queries | 0 |
| Slow_queries | 0 |
| Slow_queries | 0 |
| Slow_queries | 0 |
| Slow_queries | 0 |
| Slow_queries | 0 |

mysql_admin_slowquery


mysqladminのオプションでmysqlの生存確認をするコマンド

以下のコマンドでは、3秒おきにMYSQLの生存確認をしている例です。
[root@colinux mysql]# mysqladmin ping -u root -pパスワード -r -i 3
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive
mysqld is alive

mysqladmin_ping