たまたま目に入った記事で、「mysqlでuserテーブルにダミーデータを10万件ほど入れる方法メモ」というものを拝読しました。 zenn.devそちらでは、ストアド・プロシジャを作成して10万回のループでINSERTを実施する方法を採っていましたが、折角の機会なのでお伝えしたいテクニックがあり、これを書きしたためる次第。 プロシジャってあまり使いたくない 「実現できない」より「実現できる」ほうが100万倍エラいので、プロシジャを使った解法にたどり着いたことは立派なのですが、「実現できる」から「もっと良く実現できる」に進むと更に楽しい世界が待っています。ということで「もっと良く」を紹介します。私…
お待ちかねの「MySQLのはじめての LTS」、MySQL 8.4.0 がリリースされました!Note: If you are having trouble connecting to the upgraded MySQL 8.4.0 Server, please read the end of this blog. (Summary of solutions for "unknown variable 'default-authentication-plugin" error, and "mysql_native_password' is not loaded" error) status表…
1.
MySQL :: Other MySQL Documentation から “airportdb database (large dataset, intended for MySQL on OCI and HeatWave)” を探してダウンロード。HeatWave用って書いてあるけど別にVanillaでもOK。
$ wget https://downloads.mysql.com/docs/airport-db.tar.gz
--2024-04-18 00:43:20-- https://downloads.mysql.com/docs/airport-db.tar.gz
Resolving downloads.mysql.com (downloads.mysql.com)... 23.51.143.41, 2600:140b:2:99d::2e31, 2600:140b:2:99c::2e31
Connecting to downloads.mysql.com (downloads.mysql.com)|23.51.143.41|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 655687708 (625M) [application/x-gzip]
Saving to: 'airport-db.tar.gz'
100%[==============================================================================================================================================>] 655,687,708 …
[さらに読む]
TL;DR
-
これは5.7のバグ。8.0では起こらない
-
エラーメッセージからここへ来たあなたへ。
use
ステートメントを忘れています。use
してからもういちどCREATE VIEW
なりALTER VIEW
なりを実行するのです
スキーマを何も指定せずに接続して、かつ、FROM句サブクエリがあるものを実行しようとするとエラる。ビュー名を完全修飾していても、使っているテーブルを完全修飾していてもエラる。しかも
root@localhost
なのに ANY command denied
…
【2024/03/15 09:19】
現在までの8.0~8.3の新機能/Removal/Deperecatedまとめ。8.4が出たらたぶん足す。
- https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
- https://downloads.mysql.com/docs/refman-8.1-en.pdf
- https://downloads.mysql.com/docs/refman-8.2-en.pdf
- https://dev.mysql.com/doc/refman/8.3/en/mysql-nutshell.html
- 8.1と8.2は既にWEBからたどれずに …
TL;DR
-
タイトルがすべてを物語っている。 SET_USER_ID権限 があるとこのオペレーションは成功する
-
エラーコードは4006
MySQL error code MY-004006 (ER_CANNOT_USER_REFERENCED_AS_DEFINER): Operation %s failed for %.256s as it is referenced as a definer account in %s.
-
実はMySQL 8.0.22とそれ以降の新機能らしい
…
[さらに読む]TL;DR
-
Rocky Linux 8(というかRHEL8互換)ではdatadirに生でcoredumpを吐き出さない
-
coredumpctl
を使うらしい
—core-file も ulimit -c unlimited
も設定してるのにcoredumpが見つからない…と思ったら変わっていたらしい。
$ less /usr/mysql/8.0.36/data/error.log
..
2024-03-08T07:36:23Z UTC - mysqld got signal 11 ;
<secret>
/usr/mysql/8.0.36/bin/mysqld(do_command(THD*)+0x15b) [0xde00bb]
/usr/mysql/8.0.36/bin/mysqld() [0xf391b8]
/usr/mysql/8.0.36/bin/mysqld() …
[さらに読む]
TL;DR
- 体感としては知ってたけどレプリケーションフィルタには対応するコードがなくてもんにょりしていた
- sql/rpl_filter.cc じゃなくて sql/auth/sql_user_table.cc に埋まっていやがった
ドキュメントには、
ただし、通常はこの情報を間接的に更新するステートメント (GRANT、REVOKE、およびトリガー、ストアドルーチン、およびビューを操作するステートメント) は、ステートメントベースレプリケーションを使用してレプリカにレプリケートされます。
…
[さらに読む]「SQL」は標準化されているとはいえ、特に関数や演算子にはデータベース製品ごとに結構な差異が含まれています。「方言」と呼んだりしますね。 その「方言」のおかげで、うっかりハマったので、紹介するじょう。 計算が合わない! 事の発端は、SELECT句で行っていた少々複雑な計算が、なんか全然違う値を返していることに気づいたこと。式を分解しながら原因を突き止めたところ、累乗の計算で期待と異なる結果を返していることが原因だと分かりました。 何が起きたのか シンプルな例として「10の三乗」が欲しいとします。まぁ、何も考えずに手を動かすと、このように書きますよね。 mysql> SELECT 10^3; +…