weblog of key_amb

主にIT関連の技術メモ

MySQL

MySQL binlog_format とバイナリロギング、レプリケーションについて

少し雑なメモです。 MySQL で binlog を記録するかどうかについて。 master で binlog を書き込まなければ、レプリケーションもされません。 --binlog-do-db (master 側) や --replicate-do-db (slave 側) のようなオプションは運用従事者ならご存知の方も多…

MyNA(日本MySQLユーザ会) 2015年4月 に行ってきた #mysql_jp

最近ブログが勉強会参加レポートばかりになっている感がありますが、今日(4/22)は MyNA (日本MySQLユーザ会) に行ってきました。 MyNA(日本MySQLユーザ会)会 2015年4月 on Zusaar ここのところ話題になっていた '' = '' 問題や、パフォーマンス・チューニン…

MySQL 5.6 Delayed Replication

アプリケーション開発などで意図的にレプリ遅延を起こして検証したいようなときがあります。 そういうとき、MySQL 5.5 以前では mk-slave-delay - Make a MySQL slave server lag behind its master. のようなツールを使う必要がありましたが、MySQL 5.6 で…

MySQL Seconds_Behind_Master とレプリケーション監視

MySQL の Seconds_Behind_Master はレプリケーションの遅延具合を手軽に確認できる指標ですが、いくつか問題もあるようです。 公式ドキュメントでは次の制限が示されています。 ネットワークが遅い環境では有用な指標ではない また、MySQL 5.5, 5.6 のドキュ…

skip-character-set-client-handshake

mysqld でこの設定を有効にしていると、クライアント側の文字コード設定を無視する(=サーバ側で設定した文字コードを使用する)。 クライアント側で接続時に文字コード設定を行うのであれば、この設定をすべきではない。 参考 MySQL :: MySQL 3.23, 4.0, 4.1 …

Q4M - queue_stats() function

Q4M 0.9.7 で queue_stats() という function が導入されたそうな。 mysql> select queue_stats('t'); +-----------------------------------------------------------------+ | queue_stats('t') | +-----------------------------------------------------…

mysqldumpコマンド

オプション オプション 意味 --no-create-info,-t CREATE TABLE文を省略する --no-data,-d データのダンプを省略する。DDLだけ出力したいときに便利 --events,-E イベントをダンプする --routines,-R 関数とプロシージャをダンプする コマンド実行例 # デー…

MySQL binlogの削除

PURGE MASTER LOGS構文を使う。 以下の手順でやればよい。 手順 1. どこまでbinlogを削除していいか調べる。 Slave側でSHOW SLAVE STATUSを実行する。Master_Log_Fileが現在参照中のbinlog。 mysql > SHOW SLAVE STATUS; : Master_Log_File: mysql00-bin.000…

MySQLのINFORMATION_SCHEMA DB

MySQLのINFORMATION_SCHEMA DBで、各種情報を参照することができる。 よく見るものを以下に挙げる。 Table名 内容 COLUMNS カラム名 EVENTS イベント情報 PARTITIONS パーティショニング情報 PROCESSLIST プロセス情報 Tips INFORMATION_SCHEMAの情報を使っ…

Q4MのバージョンをSQLで確認する方法

select PLUGIN_VERSION from information_schema.plugins where plugin_name='QUEUE'; 以上。 参考 Q4M のバージョンを SQL で確認する方法 - kazuhoのメモ置き場

ALTER EVENT ... ON SCHEDULE ... でEVENTのスケジュールを変更

ALTER EVENT ... ON SCHEDULE ... でイベントのスケジュールを変更することができる。 5分後にイベントを実行する ALTER EVENT event_hoge ON SCHEDULE AT current_timestamp + INTERVAL 5 MINUTE; 毎月1回に変更する ALTER EVENT event_hoge ON SCHEDULE EV…

MySQLでストアドプロシージャを作ろう

いくつか簡単なプロシージャを作ってみる。 まず、テスト用のDBを作る。 create database hoge; use hoge create table hoge ( id int unsigned not null, name varchar(255) not null ); 1. insertプロシージャ プロシージャはCREATE PROCEDUREステートメン…

MySQLのクエリをtcpdumpで調べる

# tcpdump -l -i eth0 -A -n -s 0 dst port 3306 | grep SELECT 参考 MySQLのクエリをtcpdumpで調べる | guro_chanの日記

MySQLのユーザー一覧の表示

use mysql select * from user; 現在どのユーザとして接続しているかは、 select user(); 参考 MySQLのインストールと管理メモ | Netsphere Laboratories

ibdataのサイズを縮小する

ibdataのサイズを縮小するには、ibdata, iblogのファイルを全部消して、my.cnfを変更してmysqldを再起動する必要がある。 今までのデータがなくなっては困る!という場合は、dumpを取っておいて、入れ直す。 my.cnfの編集 innodb_data_file_path を変更する…

mysqlbinlogコマンドでMySQLのbinlogを見る

mysqlbinlogコマンドでMySQLのbinlogを見ることができる。 使い方 mysqlbinlog [オプション] binlogファイル名 オプション オプション 意味 --start-datetime="YYYY-MM-DD hh:mm:ss" ログの開始日時 --stop-datetime="YYYY-MM-DD hh:mm:ss" ログの終了日時 -…

MySQLレプリケーション停止時の対応

エラーのスキップ 問題のSQLをスキップする。 SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE; エラーを無視してレプリケーションを続ける。 my.cnfに次を記述して、mysqldを再起動する。 [mysqld] slave-skip-errors=エラー番号 参考 MySQL スレーブ…

MySQLの同時最大接続数(max_connections)の確認

mysql> show variables like 'max_connections'; 以上。 参考 [ThinkIT] 第3回:max_connectionsとthread_cacheのチューニングを行う (1/3)

ALTER EVENT ... ON COMPLETION [NOT] PRESERVE

MySQL 5.1 から導入されたイベントスケジューラのお話。ON COMPLETION PRESERVEを指定しないと、次回予定のないEVENTは実行後に削除される。また、MySQLの再起動によっても削除される。 既に作成されたEVENTにON COMPLETION PRESERVEを指定するには、 ALTER …

MySQL + Pythonのセットアップ

# apt-get install mysql-server # apt-get install python-mysqldb 以上。 # python >>> import MySQLdb 関連サイト はてなダイアリー Python MySQL Database Access

MySQL GUIツール、テーブル定義書作成

クライアントツール CSE ODBCドライバを追加することで、MySQLに接続することができるようになる。 クライアントの文字コードをSJISにする MySQL 5.0にCSEで接続する方法 - Lazy Technology MS Access アクセスでもCSEと同様の手順でMySQLに接続することがで…

MySQL5.0.67 on CentOS5.3

ひょっとしてTritonnを利用するかも、という場合には、MySQLのバージョンに気をつける必要があります。http://qwik.jp/tritonn/download.html インストール 1.下記のrpmをダウンロード MySQL-client-community-5.0.67-0.rhel5.i386.rpm MySQL-devel-commun…