2418 件中 1 - 10 件を表示
次の 10 件 »
MySQL default_table_encryption パラメータの挙動

MySQL 8.0 で default_table_encryption パラメータが追加されてました。
「テーブルの暗号化をデフォルトで有効にするオプションかな?」と思って、CREATE TABLEしてみるも変わらず・・・

マニュアル見ると、データベースとテーブルスペースに効くと書いてありました・・・。名前が紛らわしい・・・。


Defines the default encryption setting applied to schemas and general tablespaces when they are created without specifying an ENCRYPTION clause.
このパラメータを有効化した状態で、ENCRYPTIONオプションを省略してCREATE DATABASEすると、ENCRYPTION='Y'が暗黙的に追加されます。

mysql> SHOW VARIABLES LIKE 'default_table_encryption';
+--------------------------+-------+
| …

[さらに読む]
日本MySQLユーザ会会(MyNA会) 2019年8月に参加してきました

日本MySQLユーザ会会(MyNA会) 2019年8月 に参加してきました。 とんぼさんのMySQL weeklyばなし

  • About MySQL Weekly - Speaker Deck
  • MySQL Weekly
  • 「メリット: 普段、流れてくるブログエントリを全部とか読めないけど強制的に読むようになるから読めるようになる」
    • とてもわかる
  • 「デメリット: つらい。アップデートがリリース(8.0.17)された時は超つらかった」
    • とてもわかる
  • とても読みやすくてわたしもお世話になっているので、長続きしてほしい…!
[さらに読む]
MySQL Technology Cafe #5 に参加してきた

前回の、MySQL Technology Cafe #4 に続き、#5 に参加してきました。


タイムテーブル  

時間 内容 登壇者
18:00-18:25 受付 -
18:25-18:30 はじめに MySQL GBU
18:30-19:15 MySQL 8.0 の便利機能とSQL標準 MySQL テクニカルアナリスト 木村明治 氏
19:30-19:40 MySQL Binlog のパケットと自作クライアント 高野周哉 氏
[さらに読む]
「他のデータベースではRECURSIVEを指定するとエラーになります」の読み筋がわかった夜

昨日このイベントに出て、終了後「SQL ServerでRECURSIVEつけるとエラーになるんですよね」といわれた。

確かにプレゼンでは、テンポラル表や、DROP TABLE IF EXISTSの例を出して、これらはSQL Server 2016で動作確認を行いながらやったけど、WITH RECURSIVEはこれまで使っていた資料のつかいまわしで、SQL Serverで動作確認してなかった。確かにエラーになる。

1> WITH RECURSIVE n AS
2> (SELECT empid, name
3> FROM shain
4> WHERE name = N'きむら'
5> UNION ALL
6> SELECT nnext.empid, nnext.name
7> FROM shain as nnext, n
8> WHERE n.empid = nnext.mgrid)
9> SELECT name FROM n;
10> go
メッセージ 102、レベル 15、状態 1、サーバー …

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

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

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

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

mysql> SHOW GLOBAL VARIABLES LIKE 'log_slow_sp_statements';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| 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)

[さらに読む]
サーバサイドプリペアドステートメントは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;
+-------------------------------------------------------------------+
| …

[さらに読む]
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の経路を使ってインスタンスの丸コピーができるらしい
  • このへんを読んでおくのが良さげ
[さらに読む]
2418 件中 1 - 10 件を表示
次の 10 件 »