MySQL InnoDB Cluster/ReplicaSet 8.0.21で「mysqlrouterから参照されないように」設定する
TL;DRHiding instances on MySQL InnoDB Cluster/ReplicaSet | MySQL Server BlogMySQL Shell AdminAPI – What’s new in 8.0.21? | MySQL Server BlogMySQL Shell(metadataに追加)とMySQL...
View Articlemysqlrouterに ERROR 2003 (HY000): Can't connect to remote MySQL server for...
TL;DRポートに対応する宛先(デフォルトでは6446はマスター、6447なら全てのスレーブとマスターも(デフォルトだとフォールバックするから))のmysqldが全滅していると、CR_CONN_HOST_ERROR(2003)の後ろのアドレスがmysqlrouterのLISTENポートになるどこが落ちてるのかメッセージからわかりにくいと嘆かないで、「全滅した時だけ」だから切り分けの一助になれば幸いた...
View Articlemysqlrouterのdisconnect_on_metadata_unavailableはURIに書く
TL;DRThe metadata-cache URI options are:MySQL :: MySQL Router 8.0 :: 4.3.2 Configuration File Optionsdisconnect_on_metadata_unavailableなるものの存在を知って mysqlrouter.confに書いてみたけど反映されなくてよく読んだらURIオプションだった。$...
View ArticleDebian / UbuntuあたりでMySQLのrootのパスワードが変更できないように見える件
TL;DRmysql-community-serverをインストールした時に rootのパスワードどうする? パスワードなしでUNIX socketベースの認証をするなら空っぽにしておいてと聞かれませんでしたか?これを空っぽにしておくと、 root@localhostが auth_socketプラグインを使うようになってパスワードを一切合切受け付けなくなる...
View ArticleMySQL...
TL;DRRESTARTステートメントの本質は「終了コード16で mysqldを停止」するだけ親プロセス( mysqld_safe, systemd, dockerdとかとか) が「終了コード16の時はもう一度 mysqldを起動する」という実装をしなければならないRESTARTステートメントの処理の中で、「 SHUTDOWN権限があるか」「...
View ArticleInnoDBのHistory list lengthの監視と原因スレッドの特定と
TL;DRyt-healthckeckに History list length ( trx_rseg_history_len ) の監視を追加した--history-list-enable=1すると有効になる(そのうちこっちをデフォルトにする…)MySQL...
View ArticleMySQL 8.0.22のperformance_schema.error_logってエラーログのサイズと同じだけメモリを食うかも、5MBが上限かも
TL;DRエラーログに吐くのと同じくらいのサイズを使っている気がするところでこの機能、OFFにできないような気がするので、エラーログがグングン育つ環境だとメモリー危ないんじゃ…MySQL :: MySQL 8.0 Reference Manual :: 26.12.19.1 The error_log TableMySQL :: MySQL 8.0 Reference Manual ::...
View Article今年もConoHa VPSでひたすらMySQLをビルドする
この記事は ConoHa Advent Calendar 2020と MySQL Advent Calendar 2020の6日目の記事です。どうやら5年目のようです。「今年は気分を変えてCentOS 8.xでやってみようかな」と思ったんですが既に去年やっていた。まあいいか。2019年 日々の覚書: ConoHaの上でひたすらMySQLをビルドする簡単なおしごと in 2019年2018年...
View ArticleRe: foreign_key_checksの挙動を知る(あるいは、OPTION_NO_FOREIGN_KEY_CHECKSについて)
この記事は MySQL Advent Calendar 2020の16日目の記事です。MySQL Advent Calendar 2020 8日目、 lhfukamachiさんの foreign_key_checksに関する記事を見て思い付いたものです。foreign_key_checksの挙動を知る -...
View Articlept-table-checksumでよく使うオプション
メリークリスマイエスキューエル! (と、1日)この記事は GMOペパボエンジニア Advent Calendar 2020の26日目の記事のつもりです。ちなみに私の中の人は GMOペパボではない会社に勤めています。最近...
View ArticlePerl MongersのためのMySQL InnoDB Cluster超入門のはなし
Japan.pm 2021のトークセッションで喋らせてもらったネタ。Perlの話は DBI->connectくらいしか出てこないのでPerl Mongersでなくてもお楽しみいただけるかと思います。InnoDB Clusterのキモは何と言っても「MySQLとMySQL Routerはそれぞれ別の観点から別の仕事をしている」というところで(ついでに言うなら、オーケストレーター的に働くMySQL...
View ArticleぼくがかんがえたさいきょうのMySQL監視スクリプトのはなし
PHPerKaigi 2021でトークしてきた話です。これは yt-healthcheckの話で、ウチの環境ではこれを5分に1回、crondからキックしています。喋っていた他にもいくつかひねりがあって、でも再集録の時間が取れなくて断念したネタもあります。yt-healthcheck (というか、 ytkit全部そうのはず)が実行するクエリーは全て /* ytkit <関数名> */...
View ArticleJPUG & MyNA合同勉強会 -PLEASE 2021/4- を開催しました
エイプリルフール12日目にして JPUG & MyNA合同勉強会 -PLEASE 2021/4-を開催しました。俺はこの手の「ジョークのために尽くされる ~方向を間違った~ 努力」をするのも見るのも大好きなので、とても俺得な楽しい会でした。最初の流れを作ってくださった坂井さんと、大人げない大人たちのみなさんに超感謝しています :Dイノレカ㌠の坂井さん ( @sakaik...
View ArticleオプティマイザヒントでDELETEステートメントに使わせるインデックスを強制する(MySQL 8.0から)
日々の覚書: MySQLから大量のレコードをちまちま削除するメモのコメントにあった、「DELETEでFORCE INDEXするにはテーブルリファレンス構文しかないの?」の話の続き(?)MySQL 8.0のオプティマイザヒントには INDEXヒントがあるので、こいつを使えばテーブルリファレンス構文でこねくり回さなくてもDELETEでインデックス指定ができそう。mysql80 12> SHOW...
View Articleサイボウズさんの開運研修(データベース)で話してきました
運気が上がるわけではなくて、「開発運用本部」を詰めて「開運」のようです :D俺が新入社員の研修を担当するときは 残念ながら SQLの書き方やMySQLのインストールなんてことは...
View Article東京都オープンデータカタログサイトのCSVを使ってLOAD DATA LOCAL INFILEの練習をする
TL;DR東京都 新型コロナウイルス陽性患者発表詳細 - 東京都_新型コロナウイルス陽性患者発表詳細 - 東京都オープンデータカタログサイトのCSVをLOAD DATA LOCAL INFILEでMySQLに突っ込むこの記事中に出てくるCSV由来のデータは 東京都オープンデータカタログサイトによりCC BY...
View ArticlemysqldumpからのリストアがERROR 3185 (HY000): Can't find master key from keyring で転ける
TL;DRたぶん my.cnfに early-plugin-load=keyring_file.soを書くのを忘れてるMySQL :: MySQL 8.0 Reference Manual :: 6.4.4.3 Keyring Plugin Installation「再起動したら2回目は上手く通った」みたいなのは、間違って INSTALL...
View ArticlePercona Toolkitのテスト環境を整える
TL;DRSetting up the development environmentの通りに ~やるつもりがない人または~ やっても上手くいかなかった人向けほら、テストしたいバージョンがいろいろある人とかさSetting up the development environmentは一通り目を通しておいた方が良い気がします。Percona Toolkitのテストは...
View ArticleMySQLはCREATE USERの生パスワードをハッシュに書き換えてバイナリログに吐くけどそれどこでやってるのか
いつから入ったか忘れたけど、5.6の途中くらいだった気がする。mysql80 8> CREATE USER yoku0825 IDENTIFIED BY 'abc';Query OK, 0 rows affected (0.01 sec)$ mysqlbinlog bin.000002..CREATE USER 'yoku0825'@'%' IDENTIFIED WITH...
View Article準同期レプリケーションで、でかいテーブルをDROP TABLEした時の死にポイント on 5.7.34
TL;DRdict_sysのmutexを取るのでDDL系は死ぬし新しくテーブルキャッシュを作れないのでテーブルキャッシュが枯渇すると死ぬROLLBACKも dict_sysのmutexを取るので死ぬ。 COMMITはできる。実はGroup Replicationまたは準同期レプリケーションを使っていると、更新系DMLの中に...
View Article