MySQL
donbulinux.hatenablog.jp GRANT からはじまるワンライナー時代で暗記したので毎回調べていたが、ネットマスク指定なんだよな〜、と昔から思っていた。 ら、現代では CIDR で指定できるようになっていた様子だった。 MySQL 8.0.23 では、IPv4 アドレスとして…
運用されている環境は存在するけど、改めて言われるとドキュメンテーションが全然されていない、みたいな環境へのお話。
collation が異なる同士で参照しようとしてオワ、というエラーらしい。 like 検索で死んでいた 観測した環境では (utf8_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,COERCIBLE) for operation 'like' ということでまあう〜ん、という感じだった。 雑に治…
SHOW INDEX いつも内容を忘れる。 blog.mothule.com Duplicate entry これ発生すると id がズレてる (auto increment など挿入時の予期せぬアレ) みたいな感じなんだけど、根本的な対策はあるんすかねえ。 qiita.com qiita.com tech.mobilefactory.jp
事情があって古い環境を保守している人が MySQL 8.0 -> 8.4 などにアップグレードすると、mysql_native_password から caching_sha2_password に変更されているのでパスワード認証が通らない事がある。 ググると my,cnf に default-authentication-plugin=my…
強制的に次のメジャーバージョンに強制アップグレードされるらしい。 MySQL 5.7 -> 8.0 世代、という具合。 詳しくは参考先を見てもらったほうがいい。 注意点 アップグレード後、延長サポートのオプションがオンのままになるらしく、余計な課金が生まれるっ…
ある特定の環境の間で diff チェックが必要になったので。 mysql> USE information_schema; mysql> SELECT table_name, column_name FROM columns WHERE table_schema="対象のデータベース名"; +--------------------+-------------------+ | TABLE_NAME | C…
AWS RDS (MySQL) で本番運用している環境のうち、データベース全体でそろそろ 50GB を超えそうな環境があってそのバックアップ、というかテスト環境への転用などをどうしよう、と考えている。 デカめのデータベースの運用経験、 PostgreSQL 8.0.1x あたりま…
dev.classmethod.jp とのことだったので、 RHEL9 向けの dnf(yum) リポジトリ設定を突っ込んでみたらたしかに普通に動いた。
speakerdeck.com 読んでて気付いたんだけど、確かに UTF8MB3 が廃止される未来はあるんだよな、という感じだった。 dev.mysql.com MySQL v5.6/5.7 から v8.0 にアップグレードした環境と、生え抜きで v8.0 の環境が混在していて、特に charset や collation …
qiita.com あーなるほどね! となっていた。 日本語での解説は以下の記事がよさそうかな? gihyo.jp 実際に変更、というか削除されたのは以下。 dev.mysql.com とりあえず雑に MySQL 8.3 以降を使う場合は mysql2 0.5.6 を使いましょう! という話。 そうで…
アプリケーション側で実行流量の制御をしておらず、人力で大量にアクセスすると死ぬ機能がリリースされてしまい、無事に死亡する事案に遭遇していた。 タイムアウト時間を超えた MySQL 内プロセスを kill する 対象を抽出する 以下のようにすると、カンマ区…
久しぶりにゼロから docker-compose.yml 書いててハマったので。 常日頃から触ってないとわすれがちなの、トシを感じる。 ホスト側から MySQL CLI でコンテナ側の MySQL server へログインするとき ホスト名は localhost を使用せずに 127.0.0.1 を指定する…
俺の、って書いておかないとマサカリ飛んできそうなので。
https://blogs.oracle.com/mysql/post/introducing-mysql-innovation-and-longterm-support-lts-versions Innovation Release と LTS Release がメインになって、 Major は単純に二年ごとに増える、みたいな気持ちでよさそう。 Innovation Release の最終バ…
掲題のエラーで悩んでいるチームがあったので、ヒュッと「MySQL のバグじゃねっすかね?」とだけ Slack で投げていたんだけど、ちゃんと確認することにした。
データ全部消したので 1 から始めてぇ!って時にやる。 ALTER TABLE ${TABLE_NAME} AUTO_INCREMENT = 1; 参考 notepad-blog.com
単体で動作させている RDS だと、以前書いたような以下のようなお作法で一貫性のある SQL ダンプが取得できる。 donbulinux.hatenablog.jp これをこのままマルチ AZ な RDS 環境で実行すると以下のエラーになる。 mysqldump: Couldn't execute 'FLUSH TABLES…
ロケ地 MySQL 8.0.31 macOS Ventura 先日の Unbale ... の記事でも書いた通り、インストール直後の MySQL は Asia/Tokyo をタイムゾーンに指定するとエラーを返します。 ゆるせねえよ……、わからせてやる! しかしこの手の話題、 OS とか物理筐体移行する際に…
macOS が一番お目にかかるんじゃないすかねー、 brew でインストールしていざ起動したらこれ。 よく言われている pid ファイルの不在と MySQL の data-dir 権限を対応しても動かない時は。 一度 mysql 系のプロセスを全部消すか、OS ごと再起動する mysql --…
groups というテーブルがあるんだけど、SELECT を投げようとして syntax error になった。 mysql> SELECT * FROM groups; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for …
GRANT ALL PRIVILEGES ON example_database.* TO example_user@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; 長らくこの MySQL 5.x 世代の「ユーザ作成と同時に権限も設定する」というヤツになれすぎて、 MySQL8 世代のユーザ作ってから GRANT し…
タイトルのとおり。 RDS で MySQL 5.7.3x 系エンジンの環境で、年次更新みたいな処理でデータベースメンテナンスをしていたのだけど、 mysql コマンドで RDS に接続時 SELECT や UPDATE 発行時に日本語入力しても消える (コピペしても消える) 状態だった。 m…
タイトルの通り。 DROP DATABASE example_development; したらなんか残ってしまい、 rails db: 系コマンドも通らなくなった。 原因は、 mysql_data 以下のディレクトリにデータベース名のディレクトリが残ってしまっているので。 削除する /usr/local/var/my…
いい加減 8 に以降しろ! と言われそうだけど、メンテナンスが必要な環境でまだ動いているので。 GPG キー yum update を実行したところ、 MySQL Community 版のリポジトリ読み込みでエラーが出た。 The GPG keys listed for the "MySQL 5.7 Community Serve…
RHEL 7 系の環境にちょっと古い Rails 環境を作る必要が出てきて、確認したら Rails 5.0.x かつ mysql2 0.4.5 だった。 ので、これは MySQL 8.0.x 使えないなと、 5.7.x を調達することになったのだけど、ちょっと悩んだのでメモしておく。 yum 経由でインス…
浅学にして mysql-shell なるものを知らなかった (mysql-client についてくる CLI のことだと思ってた) ので入れてみた。 brew install MySQL って Cask 扱いでしたっけ? もう覚えてないワ。MySQL 利用している brew 環境下ならそのままインストールできる…
8.0.26 のお知らせ見てたら出てたので。 どう変わった とりあえずここだけ抑えておけば良さそう。 dev.mysql.com Incompatible Change: From MySQL 8.0.26, new aliases or replacement names are provided for most remaining identifiers that contain the…
MySQL 8.0.x ではバイナリログが標準で有効化されている。 ので、無効化する。 [mysqld] disable-log-bin これでヨイ。 本当はローテートするようにして、ログを無効化しない方が良いのだけれど、開発環境だったり、定点バックアップ毎にしかデータ保証しな…
なん……何? (ここ数年 RDS ばかり使っていたので、生 MySQL を久しぶりに使った顔 ロケ地 CentOS7 MySQL 8.0.22 community edition 該当ユーザの権限 GRANT ALL PRIVILEGES ${データベース名}.* ON ${ユーザ名}@localhost; PROCESS 権限が足りない mysqldump…