もうMySQL 5.5 GAが出てから1年以上が経ち、つい先日とうとうMySQL
5.6 GAも出た昨今、これから先パーソナルユースでこれより以前のMySQLなど使うことはないだろうと~/.my.cnfを書いていたのだけど、昨日ちょっとしたアレでMySQL 5.1を入れたらMySQLが進化しすぎててオプションコメントアウトしまくらないと動かないわーとかいってたらloose-つけるといいですよって教えてもらった。
…
[さらに読む]待望のMySQL 5.6が正式にリリースされた。正式版の最初のバージョンは5.6.10である。コミュニティ版(MySQL Community Server)は下記のページからダウンロードできるので、ぜひ今すぐダウンロードして頂きたい。
MySQL Downloads
MySQL 5.6のリリースにあわせて、GUIツールであるMySQL Workbenchやドライバも新しいバージョンがリリースされており、MySQL 5.6対応となっている。それらの周辺ソフトウェアもチェックして頂けると幸いである。
…
[さらに読む]バージョン5.6 が待望のGAとなりました!早速、あいていたサーバに入れてみました。インストール後の設定が、至れり尽くせりになっていて、びっくり!*1
ちょっと引用が長くなるけど、敢えて途中のカットとかをしないで載せたいと思います。
あ、linux(CentOS)
へのインストールです。
まず、取得したrpmのファイルを使ってインストールします。
# rpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm Preparing... ########################################### [100%] 1:MySQL-server …[さらに読む]
自分でこんな記事書いてたのに。。
Primary Keyがないテーブル その2
binlog_format=ROWの時(MIXEDでも、結果が一意にならない関数使ったりしてROWモードでバイナリログ出力された時)に
Primary Keyの無いテーブルだと無茶苦茶テーブルスキャンしてレプリケーションが遅延しまくった話があったから、
Primary Keyは取り敢えず付けておこう! と思った話。
で。
最近Galera Cluster for MySQLの実装をいくつか試してるんですが、
これって必須でbinlog_format=ROWを設定しなきゃいけない。
…
たまたまujisで試したいことがあってログインしたらいきなり落ちました。。
$ mysql56 --default-character-set=ujis
Welcome to the MySQL monitor. Commands end with ; or
\g.
Your MySQL connection id is 4
Server version: 5.6.9-rc-log Source distribution
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All
rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or
its
affiliates. Other names may be trademarks of their
respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current
input statement.
mysql56>
mysql56> show databases;
Segmentation fault (core dumped)
(´・ω・`) 。。。
backtrace見ると、どうも.my_historyに書き込むところで落ちているような気がする。
…
XtraDB Cluster 5.5.28だけを積んだマシンでtpcc-mysqlをコンパイルしようとしたら、
-lmysqlclient_rが見つからないと何度も怒られた。
$ bin/mysql_config
Usage: bin/mysql_config [OPTIONS]
Options:
--cflags
[-I/xtra/include -fPIC -g -static-libgcc -fno-omit-frame-pointer
-DPERCONA_INNODB_VERSION=rel29.1 -DWITH_WSREP
-DWSREP_PROC_INFO -DMYSQL_MAX_VARIABLE_VALUE_LEN=2048
-DWITH_INNODB_DISALLOW_WRITES -fPIC -g -static-libgcc
-fno-omit-frame-pointer -fno-strict-aliasing
-DMY_PTHREAD_FASTMUTEX=1]
--include
[-I/xtra/include]
--libs
[-L/xtra/lib/mysql -lmysqlclient -lpthread -lm -lrt
-ldl]
--libs_r …
Oracleビルドのrpmの話です。
独自リポジトリ(remiとかepelとか)の話はちょっと違います。
rpm -iを叩く前に/etc/my.cnf (/etcでなくても、自動的に読み込まれるパスならOK)をおいておくと、
mysql_install_db (rpmインストールの一番最後に流れる)が流れる辺りで
勝手に/etc/my.cnfを食ってくれる。
インストールしたあとにinnodb_log_file_sizeを変えて、
InnoDBログファイルと共有テーブルスペースを毎度作り直しているような方(半年前の俺)にはオススメ。
ところで/etc/my.cnfを読んでくれることは知っていたけれど、
何が、なぜ/etc/my.cnfを読むのかに気付いたのでその記録。
…
Percona-Toolkitのうちの1つにpt-ioprofileというやつがあって、
straceでwriteやread, fsyncのシステムコール呼び出し状況を記録して、
lsofでファイルディスクリプタ番号と紐付けて、集計して出してくれたりする。
一番単純な使い方は多分こんな感じ。
# pt-ioprofile --cell sizes --run-time 60
2013年 1月 6日 日曜日 17:08:03 JST
Tracing process ID 1824
total read
pread64 pwrite64 write
open _llseek filename
2191 0
1024 1167
0 …
以前Accessを使っていた時に、TRANSFORM .. PIVOT ..を使ったクロス集計クエリが意外と便利で
(TRANSFORM .. PIVOT ..が便利というより、クロス集計ウィザードが便利だった)
MySQL単体でもアレやりたいなぁとか思ったり思わなかったり。
実際のところ、MySQLにTRANSFORM .. PIVOT .. に該当する構文はMySQLには無いので
かなり泥臭い感じのクエリにはなるけれども、
下手をしなければテーブルスキャン1回分 + テンポラリテーブル +
ファイルソートのコストで処理できたりするので、
手でログテーブルの中身をざっと洗ってざっとした傾向を見るのくらいには意外と使える。
テストデータはこんな感じ。
mysql> SELECT * FROM t1 LIMIT 3;
+-----+-----------+---------------------+ …
俺の仕事用VMはこんな感じでメジャーバージョン違いのMySQLが複数入っている(しかも、昨日から同時起動している)関係で、ポートやソケットファイルがデフォルトと違う状態で4つある。
色々あってそこにcactiを突っ込みたくなって、cactiのデータ格納用MySQLに5.5.29を任命。portは64055,
socketは/usr/mysql/5.5.29/data/mysql.sock。
さて、cacti/include/config.phpを書き換えてっと。
多分接続先をlocalhostにすると、TCP
portを使わずにソケット使おうとして、/var/lib/mysql/mysql.sockを見に行って転けるだろうから、(ソケットを指定できそうなパラメータはconfig.phpには無かったので)
$host = '127.0.0.1';$port = '64055';
にしておく。…が、敢え無く失敗。
…