文書の過去の版を表示しています。


mysql


mysql のステータス情報取得

mysqladmin コマンド

# mysqladmin status -p 
Uptime: 12016  Threads: 3  Questions: 305442  Slow queries: 38  Opens: 48 Flush tables: 1  Open tables: 30  Queries per second avg: 25.420
# mysqladmin processlist -p 
+-----+------+-----------+----------+---------+------+-------+------------------ +
| Id  | User | Host      | db       | Command | Time | State | Info             |
+-----+------+-----------+----------+---------+------+-------+------------------ +
| 260 | skk  | localhost | spamblog | Sleep   | 110  |        |                  |
| 408 | skk  | localhost | spamblog | Sleep   | 4    |        |                  |
| 409 | skk  | localhost |          | Query   | 0    |       | show processlist |
+-----+------+-----------+----------+---------+------+-------+------------------+

他のコマンドは、mysqladmin -help 参照。

mysql コマンドの日本語

% mysql -u skk -p 
mysql> use DATABASENAME;
mysql> set NAMES ujis; (EUCにしたい場合)
  • 上記により、クライアント側に表示される日本語を指定できる。

時間のかかるクエリーをログしておきたい。

# vi /usr/local/etc/my.cnf
[mysqld] (この欄に追加)
long_query_time=3
log-slow-queries=/var/log/mysql-slow.log
# mysql restart (システム依存)
  • 上記により、3秒以上かかるクエリーはログされる。

新規データベース作成

% mysql -u root -p
mysql> create database hoge;
Query OK, ...
  • 注意: データベース名に - (ハイフン) はダメみたい.

バックアップ/リストア

// バックアップ
% mysqladmin --all-databases > filename.sql 
// リストア
% mysql < filename.sql

この後,一度 mysql を再起動しないと,ユーザ情報が反映されず,ログインできないかも.

update

  • 一つ一つの値を変更する場合.
update <table name> set sales=500 where store_name = "los angels" and date = 'jan-08-1999'; 
  • 一気に行う場合
update <table name> set key1=value1, key2=value2 where <条件>

インデックスに関して

テーブルへのカラムの追加

  • alter を使う
mysql> alter table amp add unixtime int unsigned; 

mysql のステータス情報に関して

perl でのアクセス方法

mysql.1352869252.txt.gz · 最終更新: 2012/11/14 14:00 by 127.0.0.1
文書の先頭へ
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0