3134 件中 521 - 530 件を表示
« 前の 10 件 | 次の 10 件 »
MyISAMで第2カラムのAUTO_INCREMENTを使ってるテーブルを洗い出すSQL

TL;DR

  • SELECT table_schema, table_name, column_name, seq_in_index FROM information_schema.statistics WHERE (table_schema, table_name, column_name) IN (SELECT table_schema, table_name, column_name FROM information_schema.columns WHERE extra LIKE '%auto_increment%') AND (table_schema, table_name, column_name) NOT IN (SELECT DISTINCT table_schema, table_name, column_name FROM information_schema.statistics WHERE seq_in_index = 1);
  • 無理にSQLでどうにかしなくても、mysqldump --no-data で引っこ抜いて sed 's/MyISAM/InnoDB/' してテキトーなところにリストアしてみればいいと思うよ

[さらに読む]
MySQL徹底入門第4版出版記念イベント on ニフクラエンジニアミートアップ

既報のとおり、7月上旬に『MySQL徹底入門第4版』が出版されました。ありがたいことに、出版記念のイベントを求める声もちらほらいただいていたのですが、主に私自身が MySQLユーザ会のイベントを多く主催したりしていることもあって、ユーザ会として自分たちの本の宣伝めいたものを開催するのは、やや気が引けるなぁと悩んでいました。折しも、ニフクラさんが定期的に開催している「ニフクラ エンジニア ミートアップ」としてやったらどうかとのお誘いをいただき、その中でやらせていただくことができました。#nifcloud_emup のみなさま、どうもありがとうございました。fujitsufjct.connpass…

MySQL Connection Pooling と Persistent Connections はチョット違うという話

コネクションプーリングのメリット

コネクションプーリングは、一度確率したコネクションを使い回す仕組みです。TCP 3-way ハンドシェイクやDBの新規接続処理をスキップすることで、パフォーマンスを向上させる効果があります。

ただ、私の経験ではコネクションプーリングは「しても、しなくてもどっちでも良い」ケースがほとんどでした。接続処理以外の部分が占める時間やリソースの方が圧倒的に多いケースがほとんどではないでしょうか。

一部、 …

[さらに読む]
MySQL 8.0.17とそれ以前では、CREATE USER .. DEFAULT ROLE ..構文を使うと、ロールの情報が正しくレプリケーションされない

TL;DR

  • mysql.role_edges テーブルと mysql.default_roles テーブルがマスターとスレーブでズレる
    • マスターでは登録されるけどスレーブでは登録されない
    • つまりスレーブでは「そのロールを使う権限もそのロールがデフォルトロールである情報も失われる」
  • See MySQL Bugs: #93252: Default role is not logged into the binary log
    • Fixed in 8.0.18

8.0.15を使ってレプリケーションを組んでいたらハマった。
バイナリログへの記録がそもそもおかしいことになる。

mysql> SELECT @@version;
+-----------+
| @@version |
+-----------+
| 8.0.17 |
+-----------+
1 row …
[さらに読む]
Update for last week (2020-07-20 ~ 2020-07-26)

Bugs

基本的にMySQL Server, 5.7以上のbug fixのみまとめます

  1. serverity >= S5(Performance)でupdatedでdesc sort、結果の今週分
  2. Status == ClosedID#でdesc sort、結果の今週分を見る

Bug #100259 decimal returned function value overflow when group by

[さらに読む]
今日は、MySQLの何これ演算子の日。

とある日

Twitterみてて、MySQLに変わった演算子があるというツイートを見た。

どのツイートか忘れたのだが・・・。

ってことで、面白うそうなので調べてみた。

変わってる演算子

変わった演算子ってのが、<=>です。

MySQLのドキュメントに普通に載ってた。

[さらに読む]
DEBUG_SYNCことはじめ

TL;DR

DEBUG_SYNCとは、デバッグビルドのmysqldの中だけでブレークポイントみたいなものを設定して、ブレークポイントに差し掛かったら他のコネクションを使って操作を試してみられる…と思ってもらえれば多分大丈夫。

ただし任意の箇所でブレークできるわけではなく、コードの中に埋め込まれた “synchronization points” の場所にだけ仕掛けられる。以下、わかりやすさ優先で ブレークポイント と呼ぶことにする。

基本的な使い方はこんな感じ。

[さらに読む]
小ネタ/MySQL 8.0.21 で JSON_VALUE()

コロナ禍のあおりを受けて新機能が少なくなった MySQL 8.0.21 の新機能の 1 つ、JSON_VALUE()をちょっとだけ試します。

(まあ、本来ならマイナーバージョンで新機能の追加をすること自体が普通じゃないんですけどね。マイナーバージョンアップの都度新機能が加わる状況でも、Oracle さんは「メンテナンスリリース」と言い張っている謎。あ、これは dis りなどではなくて、お約束のネタです。)

JSON_VALUE()とは?

公式リファレンスマニュアルの説明にあるとおり、従来の

CAST() AS JSON_UNQUOTE() JSON_EXTRACT()

の組み合わせを 1 つの関数として、

JSON_VALUE(json_doc, path RETURNING type)

の形式で記述することができるようになったものです。

CAST() AS が不要な場合は、

[さらに読む]
Update for last week (2020-07-13 ~ 2020-07-20)

MySQL Weeklyでは1週間ごとにMySQLのrelease-note, bug, official blog, organizationによるblog, 個人のblogをまとめ紹介しています。 更新は月曜 10時(AM)です。先週一週間のMySQL関連の更新を再確認するのにご活用ください。

また、このブログ記事はGitHub上で管理されていますMySQL-weekly repository。Issue, pull-request歓迎です。(完全に同期できているわけではありません)

Release note

( …

[さらに読む]
クエリーキャッシュを有効にしたけりゃサーバー再起動

え?何当たり前のこと言ってるの?

そう思われた貴方、クエリキャッシュをちゃんと使うか使わないか最初に考えている偉い人ですね。

query_cache_typeをON(1)にするとクエリーキャッシュが有効になるんですが、これ、ドキュメントを読むと少なくともMySQL5.6以降は動的に変更(SET GLOBAL)できそうに見えます。

5.5でもできそうに見える)

ところが、有効なのを無効にはできるんですが、無効な状態を有効にはできないんです。

試してみた

[さらに読む]
3134 件中 521 - 530 件を表示
« 前の 10 件 | 次の 10 件 »