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 1691 to 1700 of 3187 « Previous | Next »
MySQLのメモリ使用量に関するトラブルシューティングTips

January 24, 2014 By Nilnandan Joshi

「MySQLサーバのメモリ使用量」に関連するトピックスを書いたブログ記事は既にたくさんあるにも関わらず、MySQLのメモリ関連の問題のトラブルシューティングで混乱しなかった人はいないだろう。Perconaサポートのエンジニアとして、高負荷のサーバに関することや、メモリ使用量高騰でOOM killerが発動してMySQLサーバが停止したこと、あるいは「MySQLがどうしてこんなにメモリを食うのか分からない。どうやったら何にメモリが使われてるか分かるんだ?助けてくれ!」と言った問題を数多く見ている。

…

[さらに読む]
MySQL パフォーマンスとtransactd その2の2

前回はselect * from tablename where fieldname = xxxのfieldnameをキーセグメントの先頭に持つインデックスがない場合を書きました。今回は、インデックスがある場合です。

MySQLでfieldnameフィールドのインデックスがある場合

今回の例は条件式が一つですので簡単です。MySQLはまず、レコードバッファ内のfieldnameフィールドの位置にキー値(xxx)をセットしてhandler::ha_index_read_map(HA_READ_KEY_EXACT)を呼び出します。

…

[さらに読む]
MySQL パフォーマンスとtransactd その2の1

その2はselect * from tablename where fieldname = xxxです。長くなるのでまずは2の1から。

なんとも簡単なSQL文ですが、テーブルの定義やデータの状況によって全くパフォーマンスが異なってきます。

使用するインデックス解析

MySQLはまず …

[さらに読む]
でも、varchar型を使用してインデックスを使用してください| | CHAR

Original post: http://anothermysqldba.blogspot.com/2014/01/use-your-index-even-with-varchar-char.html

私は最近、上のポストに気づいforums.mysql.comのサイトを: 3百万レコードを検索する早送りするには? 
与えられた例は、LIKE '%のEED」を使用 

…

[さらに読む]
MySQL SQLパフォーマンスとtransactd その1

よく、SQLが遅いといった話を耳にしますが、サーバー側がどう処理して遅いのかまで書いたものがあまり見当たらないので、Transactdの開発経験を生かし、その使い方と合わせて書いてみたいと思います。

MySQLは、プラガブルデータベースエンジンという仕組みでさまざまなデータベースエンジンを利用できるようになっています。その内部は、データベースエンジンの操作インターフェースを定義してエンジンごとに実装をするというC++の …

[さらに読む]
全文検索のテスト用にtweets.csvを食わせるSQL

毎回手打ちするのが面倒なのでメモ。

mysql> CREATE TABLE tweets (tweet_id bigint unsigned primary key, timestamp timestamp NOT NULL, text text NOT NULL, FULLTEXT KEY(text)) Engine= mroonga;
Query OK, 0 rows affected (0.05 sec)

mysql> LOAD DATA INFILE '/tmp/tweets.csv' INTO TABLE tweets FIELDS TERMINATED BY ',' ENCLOSED BY '"' IGNORE 1 ROWS (tweet_id, @dummy, @dummy, @timestamp, @dummy, text, @dummy) SET timestamp= DATE_ADD(@timestamp, INTERVAL 9 HOUR);
Query OK, 14410 rows affected, 28821 warnings (0.35 sec)
Records: 14410 Deleted: 0 Skipped: 0 Warnings: 28821


CSVのtext以降の部分をTRUNCATEしたってワーニングがごちゃっと出る。
timestampは"2013-12-17 03:06:59 +0000"(=UTC)の形で入っていて、SET TIME_ZONEで頑張ってみたけど上手く行かなかったのでSETで無理矢理9時間足してみた。

Galera Arbitratorというもの(garbd)

Galera Cluster(俺が実際に色々やってるのはPercona XtraDB Cluster)はスプリットブレイン対策としてQuorum方式を採用している。クラスターを構成するノードの *過半数* とコミュニケーションが取れていない場合、自身がネットワークから切り離されているとみなして *全ての操作を* 拒否するようになる。Galera Clusterはそもそも全てのノードのデータが「仮想完全同期」されているという前提でマルチマスターのトポロジーを提供しているため、コミュニケーションパスが途切れて同期できていないかもしれない状態は、マルチマスターを提供するための下地が崩れるからこうなっている。

mysql> use test
ERROR 1047 (08S01): Unknown command

mysql> SELECT * FROM d1.t1;
ERROR 1047 (08S01): Unknown command

…

[さらに読む]
Percona XtraDB Cluster設定中に気付いたwsrep_certify_nonPK

Primary Keyが無いテーブル + Galera Clusterで悲惨な目に なんていうことが昔ありました。

PXC(wsrepの要求なので、Gelara Cluster for MySQL, MariaDB Galera Cluster も同じ)はbinlog_format= ROW が必須パラメーターになっているのでPrimary Keyが無いと悲惨な目に遭うんですが、これを強制的に禁止するオプション(wsrep_certify_nonPK)を発見。

mysql> SELECT @@wsrep_certify_nonPK;
+-----------------------+
| @@wsrep_certify_nonPK |
+-----------------------+
| 1 |
+-----------------------+
1 row in set (0.00 sec)


…

[さらに読む]
mysqlコマンドラインクライアントでuseの代わりにcdを使う

何を言っているのか略という感じな気もするタイトルですね。。
話の流れとしては、

シェルプロンプトでuse /homeって打った。もう末期。
— yoku0825 (@yoku0825) 2014, 1月 15
とか馬鹿なこと言ってたら@yoku0825 mysql> cd dbname は時々やるので、mysql コマンドが対応すべき。
— とみたまさひろ (@tmtms) 2014, 1月 15とツッコミが入ったので、やってみました。
最初はuseはステートメントだと思っていたので、SQLパーサーをいじって USEステートメント …

[さらに読む]
MySQLのレプリケーションは追いつくことができます

Original post: http://anothermysqldba.blogspot.com/2014/01/can-mysql-replication-catch-up.html

だから、複製は、最近のMySQL 5.6で改善された。 しかし、人々はまだ5.1および5.5を使用しているので、それらの改善点のいくつかは、現実の世界をヒットするのを待つ必要があります。

私は最近、地理位置レプリケーションソリューションでこの方向に移動しました。 国の一部は、MySQL 5.1のサーバを持っていたし、国の他の部分は、新しいMySQL 5.6サーバがインストールされていた。

…

[さらに読む]