Quantcast
Channel: 日々の覚書
Browsing latest articles
Browse All 581 View Live

Error: 6125 MySQL 8.4.0の非互換で親テーブルでUNIQUE KEYがついてないとForeign Keyが作れなくなった?

TL;DRFOREIGN KEY (col1, col2) REFERENCES table_name (col3, col4)の親側のカラムリスト、←で言うなら (col3, col4)がユニーク制約がかかっていないと外部キー制約が作れなくなった?親に (col3, col4, col5)のユニークキーがあってもダメ。きっちり一致しないといけない。親に (col3)のユニークキーがあれば...

View Article


CREATE DATABASE/CREATE TABLEでCHARSETを指定してCOLLATEを指定しない

TL;DR@mita2さんのブログを見て、そういえばこんなのMySQL Server側にもあったなと思ったので書いてみたMySQL go-sql-driver/mysql ドライバで意図せず utf8mb4_0900_ai_ci が使われるケース - mita2 database lifeCREATE {DATABASE|TABLE}で CHARSETだけ指定して COLLATEを明示しないと...

View Article


ALTER TABLE .. Engine = InnoDBとOPTIMIZE TABLEは結局どう違うのか

TL;DRステートメントの権限評価が違う。 ALTER TABLEは GRANT ALTERが必要だが、 OPTIMIZE TABLEは GRANT SELECT,...

View Article

21年の時を経てMySQL 3.23がCentOS7.9にインストールされるはなし

TL;DRMySQL 3.23.58(2003年9月リリース) をCentOS 7.9(2020年11月リリース)で起動できたSH2さんの MySQL Archives - dbstudy.infoに感謝日本MySQLユーザ会会(MyNA会) 2024年8月オフライン!...

View Article

MySQLだけでファイルシステムフルやMySQLだけでファイルシステムハングを再現するアイディア

TL;DR障害時の動作を確認するためにファイルシステムをフルにしたり...

View Article


今更 素のCentOS7.9でGoを新しくせずにdlvを入れたい

古いところに新しいGoとか入れずにdlvだけ使いたかった。 $ cat /etc/centos-release CentOS Linux release 7.9.2009 (Core) $ rpm -q golang golang-1.18.4-1.el7.x86_64 $ go version go version go1.18.4 linux/amd64...

View Article

Percona XtraBackup 8.0.23 vs MySQL 8.0でバイナリログがパージされずに残り続ける

TL;DRXtraBackupは8.0.23で --lock-ddlがデフォルトでONになったPercona XtraBackup 8 Enables --lock-ddl by Defaultxtrabackup --lock-ddlは LOCK INSTANCE FOR BACKUPを呼び出すMySQL :: MySQL 8.0 Reference Manual :: 15.3.5 LOCK...

View Article

アカウント名を間違った時にも java.sql.SQLNonTransientConnectionException: Public Key...

TL;DRcaching_sha2_passwordで作られたアカウントに初回接続する時は useSSL=true または allowPublicKeyRetrieval=trueが必要日々の覚書: MySQL 8.0のcaching_sha2_password + 非SSL接続が転けるにもかかわらず、...

View Article


ConoHa VPSでMySQLをビルドする 2024年

この記事は ConoHa Advent Calendar 2024の4日目の記事で、 MySQL Advent Calendar 2024の4日目の記事です。ConoHa Advent Calendarの昨日の記事は narikakunさんの ConoHa VPSを使っておひとり様Misskeyサーバーを作る , MySQL Advent Calendarの昨日の記事は hmatsu47さんの 今年...

View Article


とあるDBAのMySQL サンドボックス

この記事は MySQL Advent Calendar 2024の5日目の記事です。昨日は yoku0825さんの ConoHa VPSでMySQLをビルドする 2024年でした昨日の記事では新しくRocky Linux 9でMySQLをビルドするために新調したインスタンスでやっていましたが、普段使いのインスタンスはEOLを迎えたCentOS7です[ConoHa...

View Article

MySQLのログと改行文字と個人の感想

この記事は MySQL Advent Calendar 2024の16日目の記事です。昨日の記事はまだ公開されていなさそうです。TL;DRMySQLのスローログ, ジェネラルログ, オプションによってはバイナリログも「実行されたクエリの改行文字まで全部記録する」ゆえに改行文字を挟まずに投げてもらった方がgreppabilityが良くてうれしいtail -fで見たい時以外は...

View Article

Blackholeストレージエンジンとバイナリログと 2024

この記事は MySQL Advent Calendar 2024の20日目の記事です。昨日は asahideさんの Google Cloudでも使えるHeatWave MySQLでした。TL;DRbinlog_format=ROWで log_replica_updates=ON (MySQL 8.0とそれ以降のデフォルトのまま)ソースが BLACKHOLEストレージエンジンの場合は...

View Article

gh-ostの-postpone-cut-over-flag-fileみたいなことをpt-oscでもやりたい

この記事は MySQL Advent Calendar 2024の24日目の記事です。昨日は updraftさんの 今日は、MySQL 8.0.35で非推奨になった「SHOW PROCESSLIST」の代わりのパフォーマンススキーマを見てみるの日。 - 今日はなにの日。でした。最近、ALTER...

View Article


table_open_cacheに関する実験

TL;DRtable_open_cacheを増やすとメモリ使用量が増えるというのは聞いたことがあるけど実際どれくらい増えるのか調べてみたかった1コネクションで1つずつ SELECT * FROM...

View Article

validate_passwordコンポーネントを消さずにパスワードポリシーを満たさないパスワードを設定する

TL;DRCREATE USER .. IDENTIFIED WITH caching_sha2_password AS x'..'の形式で入れればMySQL側は元の文字列を知らないのでパスワードポリシーに引っかかることはない自分で建てたわけではないMySQLを使って遊んでいるところだけれど、 PMMを入れる時にちょっと簡単なパスワードを使いたいと思った。 mysql> CREATE USER...

View Article


古いバージョンのxtrabackupをビルドしようとしたら -DDOWNLOAD_BOOST=1 だとダウンロードできなかった

TL;DRboostを同梱していないMySQLやxtrabackupでboostのダウンロードっぽいところでcmakeが転けていたら cmake/boost.cmakeを編集するとうまくいくことがあるboostorg.jfrog.io から archives.boost.io に変わってるっぽいyoku0825/xtrabackup-monkey-patchを使って XtraBackup...

View Article

MySQL 8.0ではINT系のデータ幅表記をdeprecatedにした…けれども

TL;DRSHOW CREATE TABLEでも桁数の表記がなくなっているけれど TINYINT(1) SIGNEDの時だけは表示が tinyint(1)になるこれはドライバ(少なくともパッと思いつくのは Connector/J)との互換性のためらしいMySQL :: MySQL Connector/J Developer Guide :: 6.5 Java, JDBC, and MySQL...

View Article


FLUSH TABLES WITH READ LOCK vs 実行中のクエリ

TL;DRFLUSH TABLES WITH READ LOCKは「今まさに実行中のクエリ」と競合するメタデータロックと違って「生きているトランザクション」ではなくて「今まさに実行中のクエリ」とだけWITH READ LOCKという名前ではあれど FLUSH TABLESなので SELECTとも競合するFLUSH TABLES WITH READ LOCKは先に全体に GLOBAL read...

View Article

Image may be NSFW.
Clik here to view.

slow_query_log / long_query_time / log_output でどれくらい違うかベンチマークその1

TL;DR特に何の結論もまだ出ていないベンチマークスローログをテーブルに吐かせるのって現実的かどうかを見たかっただけ--threads=3なのでもうちょっと並列性を上げないと本番向きではないジェネラルログファイル吐かせるのとスロークエリログ全部吐かせるのは同じくらい性能劣化するよなあと思ってた(どっちもmutexは1つしかないから)けどこれくらいだと差はよくわからないCSVストレージエンジン遅い…フ...

View Article

HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 管理者権限

CHANGE REPLICATION SOURCE TOができないのでレプリカになれないしグループレプリケーションも自分で構築することはできない(そりゃそうだ)暗号化やAudit, Firewallを回避するようなのはダメ(そりゃそうだ)BINLOG_ADMINはないけど REPLICATION_APPLIERはあるので、 mysqlbinlogで吸い上げたバイナリログを適用することはできる...

View Article

HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / コマンド編

試したHeatWaveが9.2.2だったことに影響しているものもあるMySQL Shell util.dumpInstance使えるただしダンプする時に ocimds...

View Article


HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / performance_schema編

このへんからHeatWave MySQLが9.2から8.4のものに変わっている。全体として sar の代わりに使えそうなものがそろっている感じ。2a3 > component_scheduler_tasks 53a55,57 > health_block_device > health_process_memory > health_system_memory...

View Article


Image may be NSFW.
Clik here to view.

HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 読み取りレプリカ編

WEB画面から作るレプリケーションの話。「読み取りレプリカ」を “MySQL.8.Standalone” で1つ追加ソースから観測ソースから見ると名前解決が有効になってるのでIPアドレスはわからない。skip_name_resolve はOFFで変えられない。mysql> SHOW PROCESSLIST; .. *************************** 4. row...

View Article

HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 読み取りレプリカ編その2

日々の覚書: HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 読み取りレプリカ編 の続き。読み取りレプリカを1つ足してみた。ついでなので “MySQL.8.HA” にしてみたんだけれどこれは単に無視されるのかしら…(クラスタトータルのECPUも8ECPUしか増えなかったので、たぶんこれは関係なく1台だけ足されるんだと思う)mysql>...

View Article

Oracle Linux 8.10でのMySQL 9.3.0ビルド

MySQL Bugs: #117993: cmake failed MySQL 9.3.0 + Oracle Linux 8.10 で再現しなかったらしく、フレッシュインストールで試す。$ wget https://dev.mysql.com/get/Downloads/MySQL-9.3/mysql-9.3.0.tar.gz $ tar xf mysql-9.3.0.tar.gz $ cd...

View Article

Browsing latest articles
Browse All 581 View Live