1967 件中 551 - 560 件を表示
« 前の 10 件 | 次の 10 件 »
Displaying posts with tag: MySQL (reset)
プロシージャの中身はPerconaだとスロークエリログに落ちる

プロシージャの中身のクエリはスロークエリログに落ちない の続き。

Vanilla MySQLだとプロシージャの中身がログに落ちませんが、Percona Server ではスロークエリログが拡張されていて、ログに落ちます。

log_slow_sp_statements で出力の有無を設定します。デフォルトではプロシージャの中身をスロークエリログに出力する設定になってます。

mysql> SHOW GLOBAL VARIABLES LIKE 'log_slow_sp_statements';
+------------------------+-------+
| …

[さらに読む]
プロシージャの中身のクエリはスロークエリログに落ちない

とあるMySQLのデータベースで、性能劣化した疑いのあるプロシージャがありました。
プロシージャには複数のSELECTやINSERTが含まれています。

どのSQLが遅かったか突き止める方法はあるのでしょうか?
プロシージャに含まれている、各SQLはスロークエリログに落ちるんでしょうか?

試してみます。

テスト用に遅いプロシージャを作ります。

DELIMITER //
CREATE PROCEDURE sample()
BEGIN
  SELECT SLEEP(10);
END
//
DELIMITER ;

ログを出します。

mysql> SET GLOBAL slow_query_log = ON;
Query OK, 0 rows affected (0.00 sec)

mysql> SET GLOBAL long_query_time = 0;
Query OK, 0 rows affected (0.00 sec)

[さらに読む]
プロシージャの中身のクエリはスロークエリログに落ちない

とあるMySQLのデータベースで、性能劣化した疑いのあるプロシージャがありました。
プロシージャには複数のSELECTやINSERTが含まれています。

どのSQLが遅かったか突き止める方法はあるのでしょうか?
プロシージャに含まれている、各SQLはスロークエリログに落ちるんでしょうか?

試してみます。

テスト用に遅いプロシージャを作ります。

DELIMITER //
CREATE PROCEDURE sample()
BEGIN
  SELECT SLEEP(10);
END
//
DELIMITER ;

ログを出します。

[さらに読む]
MySQLのBug Reportが成功した

MySQLのBug Report

もう一週間経ったけど、今回出したバグレポートでドキュメントが修正されました。めでたい。

単にドキュメントが修正されただけですが、せっかくなのでMySQLにBug reportするまでの流れを書いておきます。

アカウント登録

シュッと登録します

How to Report a Bugを読む

bugs.mysql.com

なにやら説明がありそうなので、読んでおきます。 なにか厳しい規則があるというわけではないので、チェックリスト的にさらっと読んでからレポートを書くと良さそうです。 …

[さらに読む]
サーバサイドプリペアドステートメントはperformance_schemaに記録されない

あるクエリがperformance_schemaに記録されなかった。
原因を調べていて1つ記録されない条件を見つけたのでメモ。

まず、問題ないパターン。

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2019-07-30 10:40:47 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT SQL_TEXT FROM events_statements_history;
+-------------------------------------------------------------------+
| …

[さらに読む]
サーバサイドプリペアドステートメントはperformance_schemaに記録されない

あるクエリがperformance_schemaに記録されなかった。
原因を調べていて1つ記録されない条件を見つけたのでメモ。

まず、問題ないパターン。

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2019-07-30 10:40:47 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT SQL_TEXT FROM events_statements_history;
+-------------------------------------------------------------------+
| …

[さらに読む]
ALTER TABLEにかかる実行時間を見積もりたい

運用をしているとダウンタイムかありかに関わらず、alter tableにどれくらいの時間がかかるのか作業前に把握したいことはよくあります。 各種statusを見ることで一定時間でどれくらいの行を書き換えるかを把握することはでき、作業を始めてからであれば、あとどれくらい掛かりそうかは見積もれますが、alter tableの話が出た瞬間にどれくらい掛かりそうかの目処はつけたいです。

今回はalter時に実行されるDMLがなく、テーブルに断片化もないという理想的な環境で、各種Alter操作にどれくらいの時間がかかるのかを実験してみました。 …

[さらに読む]
MySQLが刺さった時にざっと見るためのメモ

TL;DR

  • mysqldが 本当に 刺さって動作を停止している時のためのメモです。重いだけの時に使うものじゃない。
  • ざっと見る方法であって、解決方法じゃない。

まずは慌てず騒がずエラーログを見る。クラッシュしてるログが出てるならそれはそれでOK。mysqld_safe とか systemd を使っている場合、 mysqld が自動再起動されているかも知れない。クラッシュリカバリーの真っ最中はプロセスが浮いていても接続できないので、クラッシュリカバリー中だったら見守る。 OOM Killerに殺された場合はエラーログに何も出ずにsyslogだけ吐くので、 /var/log/messages あたりもチラ見しておくと吉。 特にクラッシュはしていないようであれば、 dstat

[さらに読む]
MySQL 8.0.17のCLONE INSTANCE FROMを使うとすごく楽にレプリケーションスレーブが作れる

TL;DR

  • 日々の覚書: MySQL 8.0.17でついにCloneプラグインが入った で紹介した CLONE LOCAL DATA は現在のdatadirをローカルのファイルシステムに一貫性のある形でコピーするステートメントだった
  • これをスレーブになるサーバーに転送してやってももちろん良いんだけど、そこまで一括でやってくれる CLONE INSTANCE FROM のステートメントも存在する
  • スレーブ増やすのが捗る

CLONE INSTANCE FROM を使うためには、データのコピー元( ドキュメント 上では …

[さらに読む]
MySQL 8.0.17でついにCloneプラグインが入った

TL;DR

  • MySQL 8.0.17 でついに俺待望の Cloneプラグイン が追加された
    • CLONE LOCAL DATA DIRECTORY .. で、ローカルファイルシステムにほぼノンブロッキングで物理バックアップを吐き出す
    • CLONE INSTANCE FROM USER@HOST:PORT IDENTIFIED BY 'password' .. でグループレプリケーションの経路を使ってフツーのレプリケーションと同じ3306の経路を使ってインスタンスの丸コピーができるらしい
  • このへんを読んでおくのが良さげ
[さらに読む]
1967 件中 551 - 560 件を表示
« 前の 10 件 | 次の 10 件 »