MyNA 20周年

とみたまさひろ

2020-05-25

#mysql_jp

おっさんの昔話のコーナー

自己紹介

MySQL Parameters

https://mysql-params.tmtms.net

5.0〜8.0

8.0.*

mrubyudf

Ruby で MySQL の UDF を書くためのツール

https://github.com/tmtm/mrubyudf

https://tmtms.hatenablog.com/entry/202005/mrubyudf

MySQL徹底入門第4版 🎉

https://www.seshop.com/product/detail/23085
絶賛校正中!

おっさんの昔話

記憶が怪しいので嘘かもしれません

1997年

1997年

  • 香港がイギリスから返還される
  • マーズ・パスファインダーが火星に着陸
  • Mac OS 8 発売
  • サッカー日本代表がワールドカップ初出場
  • X JAPAN 解散
  • 長野新幹線開業
  • 映画「もののけ姫」「インデペンデンス・デイ」「タイタニック」
  • アニメ「ポケットモンスター」放送開始
  • 音楽「CAN YOU CELEBRATE?」「硝子の少年」「HOWEVER」
  • ゲーム「ファイナル・ファンタジーVII」

会社の内製ツール作成&メンテ

会社で使ってたDBがInf◯rmix(伏せ字)だった

ESQL/C - C に SQL を埋め込む謎言語

メッチャ使いづらい

「普通にCから使える無料のDBないかなー」

MySQL と Postgres95 を発見

当時 Google は無かったらしい
どうやって探したんだっけ…

テキトーに速度測ってみたら MySQL の方が速かった

「じゃあ MySQL でいいや」

「英語苦手だけど日本語マニュアルもあるし」
(廣川類さん @rui_hi 翻訳)

しかし実はその日本語マニュアルの MySQL の
バージョンは古かった… (3.20)

しかたなく英語のマニュアルを読む…

「英語わからん」

「訳しながら読んでると3行前のを忘れる」

「訳した文を書きながら読むか…」

マニュアルの全文訳完成

1997/10

質はそれなり

「せっかくだからウェブに公開しよう」

(たしか Monty にメールで公開許可もらったはず…)

日本語を検索すると結果がおかしい

(当時のUNIXではEUC-JPが主流)

デフォルトの latin1 だと

À(C0) = Á(C1) = Â(C2)…
= à(E0) = á(E1) = â(E2)…

EUC-JPの日本語文字は 0xA1〜0xFE

(A4C0) = (A4C1) = (A4C2)…
= (A4E0) = (A4E1) = (A4E2)…

「latin1 じゃなくて binary を使えば解決!」

(binary はすべての文字を区別)

ところが
LIKE "%海%" で「続く」がマッチ!

「海」: B3 A4

「続く」: C2 B3 A4 AF

「バイト単位の比較ではダメだ…」

LIKE で文字単位にマッチングさせるパッチを作成

日本語 EUC パッチ誕生

1997/11

文字コード名は jeuc

1998年

1998年

  • 長野オリンピック
  • 明石海峡大橋開通
  • 国際宇宙ステーション建設開始
  • 任天堂がゲームボーイカラー発売
  • セガがドリームキャスト発売
  • 音楽「誘惑」「夜空ノムコウ」「my graduation」
  • 映画「踊る大捜査線」「ポケットモンスター ミュウツーの逆襲」「メン・イン・ブラック」

個人宛にメールで問い合わせが来るけど
情報が個人間に閉じるのがもったいない

「誰かメーリングリスト作ってくれないかなー」

とウェブページに書いたら

「作ってみた」 by ソフトエージェンシー

メーリングリスト発足

1998/1

当時のフリーソフトウェア界隈のMLは

初心者に厳しくて殺伐としてた

それは嫌だったのでゆるふわなML運営

メーリングリストでシフトJISを使いたいという要望

シフトJISは2バイト目に 5C がある

(95 5C)

5C はエスケープ文字 \ と同じ

LIKE だけじゃなくて文字列全般的な考慮が必要

似たようなマルチバイトcharset BIG5 があったので
それを真似てシフトJIS対応パッチを作成

UJIS&SJIS対応パッチ誕生

1998/3

この頃から jeuc から ujis に名前を変えたらしい

3.21.30 にパッチが取り込まれる

1998/5

パッチをあてなくても普通に日本語が使えるように

2000年

MLの過去ログをウェブで公開したい

どこのサーバー使おうか

せっかくだからドメイン名とる?

「日本MySQLユーザ会」とかでっちあげて
mysql.gr.jp とっちゃえ

日本MySQLユーザ会 発足

2000/3

ドメイン名を取るためには
代表者を決めないといけないので
流れで自分が代表者に

略称候補は色々あったけど

MySQLって、日本じゃマイナー(MINOR)だよね。それは昔の話さ。と言える日をまつ人の集団。

http://www.mysql.gr.jp/mysqlml/mysql/msg/1730

ということで MyNA に

(当時は PostgreSQL がメジャーだった)

そしてその後マイナーじゃなくなりましたとさ

めでたしめでたし

おまけ

メーリングリストの流量

いつまでもメーリングリストでいいの?

Slack ? んー…