Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 1981 to 1990 of 3187 « Previous | Next »
Primary Keyが無いテーブル + Galera Clusterで悲惨な目に

自分でこんな記事書いてたのに。。

 Primary Keyがないテーブル その2

binlog_format=ROWの時(MIXEDでも、結果が一意にならない関数使ったりしてROWモードでバイナリログ出力された時)に
Primary Keyの無いテーブルだと無茶苦茶テーブルスキャンしてレプリケーションが遅延しまくった話があったから、
Primary Keyは取り敢えず付けておこう! と思った話。


で。

最近Galera Cluster for MySQLの実装をいくつか試してるんですが、
これって必須でbinlog_format=ROWを設定しなきゃいけない。

…

[さらに読む]
今日からはじめるお手軽 Hive データ移行

こんにちは. 昨年知人のオーケストラ演奏会で聴いたメンデルスゾーン交響曲第4番「イタリア」が大好きな,技術部の石川有です.

そんな「イタリア」大好きな私ですが Hive のデータ移行も大好きという体で, 今回の記事ではオンプレミスで Hive を頑張って運用している方たちに向けて,どうしてもというときの Hive のデータ移行方法を紹介したいと思います. 弊社では最近,Cloudera's Distribution including Apache Hadoop 3 update 2 (CDH3u2) から CDH 4.1.2 にバージョンアップを行なっています. このようにオンプレミスで Hive を運用している方たちの中には,すでに持っているデータをうまく移行したいという方も多いかと思います. Hive には現状 MySQL の mysqldump …

[さらに読む]
#cross2013 に行ってきた

聴いたやつ。

感想など

出張Shibuya.XSSでCD-ROMをイジェクトしたくならない人は今すぐ病院に行ってくださいで有名な@ …

[さらに読む]
MySQL 5.6.9のmysqlクライアントがujis, sjis, cp932で落ちる(5.6.12で修正)

たまたま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に書き込むところで落ちているような気がする。

…

[さらに読む]
Percona Serverのmysql_configが変?

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         …

[さらに読む]
rpmインストール時にmy.cnfをおいておく

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を読むのかに気付いたのでその記録。

…

[さらに読む]
pt-ioprofileでMySQLのテンポラリテーブルのサイズを測る

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       …

[さらに読む]
Apache Hive における JSON 連想配列処理の最適化

あけましておめでとうございます. 平野啓一郎著「葬送」がようやく読み終わった技術部の石川有です.ショパンの死を題材とした内容が難解で重く,すべて読み終えるのに都合5ヶ月ぐらい掛かっていたのではないかと思います.本当にとても重い内容ですが,濃厚で至福な時間を過ごせました.

さて「重い」と言えば,「大規模データ解析」という言葉が頭に思い浮かびますよね.以前の記事「mixi の解析基盤とApache Hive での JSON パーサの活用の紹介」の通り,ミクシィの解析基盤として Apache Hive を利用しています. また Apache Hive で"No More 「刺身の上にタンポポをのせる仕事」 - 単純作業の繰り返しで開発者の時間を浪費しないために。"を実現するための Hive の JSON …

[さらに読む]
MySQLでクロス集計っぽいこと

以前Accessを使っていた時に、TRANSFORM .. PIVOT ..を使ったクロス集計クエリが意外と便利で
(TRANSFORM .. PIVOT ..が便利というより、クロス集計ウィザードが便利だった)
MySQL単体でもアレやりたいなぁとか思ったり思わなかったり。

実際のところ、MySQLにTRANSFORM .. PIVOT .. に該当する構文はMySQLには無いので
かなり泥臭い感じのクエリにはなるけれども、
下手をしなければテーブルスキャン1回分 + テンポラリテーブル + ファイルソートのコストで処理できたりするので、
手でログテーブルの中身をざっと洗ってざっとした傾向を見るのくらいには意外と使える。

テストデータはこんな感じ。



mysql> SELECT * FROM t1 LIMIT 3;
+-----+-----------+---------------------+ …

[さらに読む]
cactiが動かないので遠回りに色々トレースしてみた

俺の仕事用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';
にしておく。…が、敢え無く失敗。

…

[さらに読む]