目次
[さらに読む]TL;DR
-
RESTARTステートメントの本質は「終了コード16でmysqldを停止」するだけ- 親プロセス(
mysqld_safe,systemd,dockerdとかとか) が「終了コード16の時はもう一度mysqldを起動する」という実装をしなければならない
- 親プロセス(
-
RESTARTステートメントの処理の中で、「SHUTDOWN権限があるか」「MYSQLD_PARENT_PID環境変数がセットされているか」を判定してから、SIGUSR2シグナルを使って終了コード16での終了に持っていく- 8.0.20までのDockerイメージの
entrypoint.shはMYSQLD_PARENT_PIDを渡していなかったので、その評価のところでfalseになって …
- 8.0.20までのDockerイメージの
はじめに
MDS(MySQL Database Service)が東京リージョンにも来ました!
(^O^) <祝!
というわけで、朝4時に起こされたこともあり、時間もできたんで久々にOCIを触ってみたんですが、作りたいものが簡単に作れて楽しかったです。
ただ、公式チュートリアルにMDS関連がまだ無いこと、MDS系だとlefredさんのブログとか …
[さらに読む]TL;DR
-
mysql-community-serverをインストールした時に
rootのパスワードどうする? パスワードなしでUNIX socketベースの認証をするなら空っぽにしておいてと聞かれませんでしたか?- これを空っぽにしておくと、
root@localhostが auth_socketプラグインを使うようになってパスワードを一切合切受け付けなくなる
- これを空っぽにしておくと、
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu Configuring mysql-community-server tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Please provide a strong password that will be set for the root account of your MySQL database. Leave it blank to enable x
x password less login using UNIX socket based authentication. x
x …[さらに読む]
MySQL で Host '〜' is blocked because of many connection
errors が出るのってどういうときだっけ…とふと思ったので接続周りを調べてみた。
クライアントごとの連続接続失敗によるブロック
マニュアル https://dev.mysql.com/doc/refman/8.0/en/blocked-host.html にはこう書かれてる (DeepL翻訳)
システム変数 max_connect_errors の値は、何回連続して中断される接続要求を許可するかを決定します。max_connect_errors が接続に成功せずにリクエストに失敗した後、mysqld は何か問題がある (誰かが侵入しようとしているなど) と判断し、FLUSH HOSTS 文、Performance Schema host_cache テーブルを切り捨てる TRUNCATE TABLE 文、または …
[さらに読む]TL;DR
The metadata-cache URI options are:
disconnect_on_metadata_unavailable なるものの存在を知って
mysqlrouter.conf に書いてみたけど反映されなくてよく読んだらURIオプションだった。
$ sudo vim /etc/mysqlrouter/mysqlrouter.conf
..
[routing:myRs_ro]
bind_address=0.0.0.0
bind_port=6447
destinations=metadata-cache://myRs/?role=SECONDARY
round-robin-with-fallback
protocol=classic
disconnect_on_promoted_to_primary=yes ### 間違い!!!
..
↑のようにルーティングセクションにそのまま書くのではなくて、ルーティングセクションの …
[さらに読む]TL;DR
-
ポートに対応する宛先(デフォルトでは6446はマスター、6447なら全てのスレーブとマスターも(デフォルトだとフォールバックするから))のmysqldが全滅していると、CR_CONN_HOST_ERROR(2003)の後ろのアドレスがmysqlrouterのLISTENポートになる
- どこが落ちてるのかメッセージからわかりにくいと嘆かないで、「全滅した時だけ」だから
- 切り分けの一助になれば幸い
-
ただしこの「全滅」は
…_hidden: trueを含む。