Quantcast
Channel: 日々の覚書
Browsing all 581 articles
Browse latest View live

MySQL 8.0.4でMySQLの正規表現演算がだいぶマシになる

TL;DRMySQL 5.7とそれ以前にも一応 REGEXP演算子(またはRLIKE演算子)はあって、多少正規表現っぽいことはできるんだけど正規表現としては全然物足りなかった。少なくとも \sで空白文字にマッチできないとかちょっとPerlの正規表現で甘やかされた身にとってはつらいしかも遅いんだこれがあとマルチバイト非対応(マルチバイトに対して使おうと思ったことないけど)MySQL...

View Article


MySQL 8.0.4の正規表現で更に遊ぶ(REGEXP_SUBSTR, REGEXP_INSTR)

See also, 日々の覚書: MySQL 8.0.4でMySQLの正規表現演算がだいぶマシになるMySQL 8.0.4で新たに追加された関数として、 REGEXP_SUBSTRと REGEXP_INSTRがある。REGEXP_REPLACEもあるけどこれはいいや(...

View Article


LOAD DATA INFILEステートメントの中でカラムの順番とかをゴニョる

TL;DRLOAD DATA INFILEステートメントで、CSVなりTSVなりのフィールドの並び順とテーブルのカラムの並び順が一緒じゃない時にほげる方法とか読み取った値を加工してからテーブルに突っ込む方法とかTwitterからダウンロードできる...

View Article

MySQL Router 2.1.5経由でのMySQLへの接続に失敗する

TL;DRMySQL Router 2.1.5からおもむろに connect_timeoutがミリ秒単位になった2.1.4とそれ以前では単位は 秒だった多分バグMySQL Bugs: #89740: “Timeout reached trying to connect to MySQL Server” occurs too...

View Article

MySQL 8.0.4の SHOW GRANTS の結果が想像したのとちょっと違う

MySQL 8.0.4にroot@localhostでログインして SHOW GRANTSを実行したらこうなった。mysql> SHOW...

View Article


#phperkaigi 2018 がとても楽しかった

PHPerKaigi 2018に参加してきました。まずは スポンサーのみなさん、いろいろ美味しゅうございましたありがとうございました。 スタッフのみなさん、いろいろフォローありがとうございました。特に @uessy_akrさんがセッションの前後色々話しかけたりフォローしたりしてくれて助かりました。ありがとうございました!!あとは初めて物理 @cakephperさんに会えました。実物は...

View Article

#MANABIYA に行ってきました

3/23に開催された MANABIYAに行ってきました。1日目の3/23しか行けなかったけれどかなり豪華な コンテンツで、 澤田さんのPostgreSQLの今とこれから、 自分のセッション、間に職員室なるものをはさんで 澤田さん, 木下さん , そーだいさんと謎のCrossSession、 kazeburoさんの マイクロサービス on マルチクラウドと詰め込んだ1日でした。モリスさんの...

View Article

wslbridgeを使ってCygtermからWSLを扱うときに ALT + Dとかがアレになるやつの対策

`/etc/bash.bashrc` に↓を書き加えてもう二度とCygwin bashをまともに起動しないことにした。```exec /cygdrive/c/Users/yoku0825/wslbridge-0.2.4-cygwin64/wslbridge.exe -C ~```

View Article


「危険な正規表現」 vs MySQL 8.0

他にもいくつかあると思うけれど、俺の一番のお気に入り(?)はこれ。危険な正規表現 | MOYO Laboratory(.*)*^試してみよう。mysql80 15> SELECT * FROM t1 LIMIT...

View Article


MySQL 8.0は SELECT .. FOR UPDATE SKIP LOCKED とJSON_TABLES関数で「取り敢えずJSON」が捗る?

TL;DRauto_increment + JSON型(あるいはBLOB型やTEXT型でもいいけど)に生のJSONを突っ込む後から SELECT .. FOR UPDATE SKIP LOCKEDでワーカーが取り出して、 INSERT .. SELECT JSON_TABLE(..) FROM...

View Article

MySQL 8.0の再帰CTE(WITH RECURSIVE)で1000行以上の結果セットを作りたいとき

TL;DRルーク! cte_max_recursion_depthを変えろ! デフォルトは1000だ!単なる連番のテストデータを作りたい時とか、再帰CTEは便利(というかMySQLerは今まで再帰CTEが使えなかったので、そもそもそれ以外の使い方は思いつかないわけだが)だけれど、 ↓ を訳した時点ではWHERE句を間違えるとさっくりとクエリーが逝きっぱなしになっていた。MySQL 8.0 Lab版:...

View Article

MySQL 8.0.3とそれ以降では expire_logs_days は非推奨なパラメーターになりました

TL;DRバイナリーログの自動パージ期間を設定する expire_logs_daysはMySQL 8.0では非推奨代わりに binlog_expire_logs_secondsを設定するMySQL 8.0.1で導入された binlog_expire_logs_seconds当初は expire_logs_daysと 足し合わせるという互換性に考慮した...

View Article

MySQL 8.0のSTATEMENT_DIGEST関数を使ってストアドプロシージャでSQLにホワイトリストを適用する

STATEMENT_DIGEST関数はSQLステートメントから定数をノーマライズしたもの(ダイジェスト)をハッシュ化して返してくれる関数。MySQL 5.6とそれ以降の...

View Article


MySQL 8.0のnutshellを読んで秘伝のタレをどうこうしようと思っているメモ

たぶん本当にメモ。MySQL :: MySQL 8.0 Reference Manual :: 1.4 What Is New in MySQL 8.0caching_sha2_password, it is now the preferred authentication plugindefault_authentication_plugininnodb_undo_log_truncate is...

View Article

なるべく負荷をかけずにInnoDBバッファプールに載っているページの情報を見る

TL;DRinformation_schema.innodb_buffer_pageは重いib_buffer_poolにはテーブルスペースIDが記録されるので、それを使ってほげほげするこんな感じ?mysql> SET GLOBAL innodb_buffer_pool_dump_now = 1;mysql> SELECT space, name FROM...

View Article


yum版のMySQL 8.0をCentOSなコンテナーにインストールすると Operation not permitted って言われる…...

TL;DRdocker runする時に --cap-add=SYS_NICEを付け加えてやると上手くいく少なくとも Docker Hub公式のCentOSでMySQL公式のYumリポジトリーを設定しyum install mysql-community-serverでMySQL 8.0.11を入れるとmysqldが Operation not permittedで転ける$ docker run...

View Article

"「7の倍数」を表す正規表現"をMySQl 8.0で試す

1年半くらい前に書かれたらしいけれど、ふと今日 「7の倍数」を表す正規表現 - Qiitaを見つけて読んだ。(取り敢えず今の俺の中で)正規表現といえばMySQL 8.0。日々の覚書: MySQL 8.0.4でMySQLの正規表現演算がだいぶマシになるそして(取り敢えず今の俺の中で)forループ的に数値をテストするといえばCTE、CTEといえばMySQL 8.0。MySQL 8.0 Lab版:...

View Article


default_collation_for_utf8mb4 なんてパラメーターが追加になっていた

MySQL :: MySQL 8.0 Reference Manual :: 5.1.7 Server System Variables何このパラメーター、と思ったら、 utf8mb4のデフォルトコレーションが utf8mb4_general_ci (MySQL 5.7とそれ以前) から utf8mb4_0900_ai_ci (MySQL 8.0)に変わったことに対する経過措置っぽかった。これを...

View Article

MySQL 8.0にはperformance_schema.events_statements_summary_by_digest...

MySQL 5.7からMySQL 8.0でのevents_statements_summary_by_digestのカラム変更。$ diff -y --suppress-common-lines <(mysql57 -sse "DESC p_s.events_statements_summary_by_digest")<(mysql80 -sse "DESC...

View Article

MySQL ShellのUpgrade CheckerをPerl 5に書き下してみたけどそんなことする必要はなかったようだ

TL;DRlefredや MySQL Server Teamもすなる checkForServerUpgradeといふものを、yoku0825もしてみむとしてするなり。オリジナルはMySQL Shellのjsモードで使うものらしく、 X PluginをインストールしなければいけないX PluginなしのClassic Protocol +...

View Article
Browsing all 581 articles
Browse latest View live