[[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 を再起動しないと,ユーザ情報が反映されず,ログインできないかも.
* http://dev.mysql.com/doc/refman/4.1/ja/mysqldump.html mysql のウェブ説明.
====== update ======
* 一つ一つの値を変更する場合.
update set sales=500 where store_name = "los angels" and date = 'jan-08-1999';
* 一気に行う場合
update set key1=value1, key2=value2 where <条件>
====== インデックスに関して ======
* http://www.res-system.com/item/550
* http://www.daito.ac.jp/~ikeuchi/webdb/mysql_5.html
* インデックスが貼られているかの確認は,以下.
* show index from table_name
===== 後からインデックスを貼る場合 [2022-09-13] =====
* SQL 文は以下の通り.
alter table table_hoge add index column_index (column)
* key_buffer_size が小さいと,いつまでたっても終わらなかった.(text 型に対して,5000 件でも,20 万件でも.)
* show variables like "%key_buffer%"
* 以下の設定を記述,再起動し,サイズをでかくしたところ,一瞬で終わった.
[mysqld]
character-set-server=utf8mb4
key_buffer_size = 384M
====== テーブルへのカラムの追加 ======
* alter を使う
mysql> alter table amp add unixtime int unsigned;
* http://dev.mysql.com/doc/refman/4.1/ja/alter-table.html
====== mysql のステータス情報に関して ======
* http://isp.oshietekun.net/
====== perl でのアクセス方法 ======
* http://www.atmarkit.co.jp/flinux/rensai/mysql04/mysql04b.html