dshimizu/blog/alpha

とりとめのないITブログ

MySQL

Amazon Linux 2023 で MySQL 公式クライアントを使おうと思うならどうするのが良いかと思ってちょろっと調べたことの雑多なメモ

はじめに Amazon Linux 2023 で動いている EC2 から RDS MySQL や Aurora MySQL に接続したいことが結構あります(Fargate の踏み台使えとかはなし)。 しかし、Amazon Linux 2023 の公式 yum リポジトリにも MySQL クライアントのパッケージはなさそうでした。…

Nginx+PHP(fpm)+MySQLのDockerコンテナイメージを組み合わせてwordpressを動かすdocker-composeを作った

Dockerの勉強も兼ねて、WordpressをDockerを使って動かしてみようと思考していて、Wordpressのコンテナイメージを用いれば手っ取り早いけど、SSL化しようとするとNginxなどでリバースプロキシを使わないといけなそうで、その場合はX-Forwarded-Protoヘッダを…

MySQLのInnoDBテーブルではinfomation_schema.tablesのtable_rowsが正確ではないことを今さら知った

いろいろネット上で調べていると既知のもののようで何を今さら...という感じではあるが、MySQLで全テーブルのレコード数を一括で取得するのに手軽にやれないかと思ってinfomation_schema.tablesのtable_rowsを参照したら、マスター/スレーブ間で件数が全然違…

MIC(Group Replication)でまだ実行されていないトランザクションがマスターのバイナリログからロストしている場合のエラー

Single PrimaryのMySQL InnoDB Cluster(Group Replication)が組まれているサーバのうち、スレーブとなる1台を切り離した後、切り離されて以降のトランザクションが記録されたバイナリログがなくなっていた(参照できなかった)場合にレプリケーションしようと…

MySQLのバグレポート(bugs.mysql.com)にコメントしてみた

MySQL InnoDB Clusterの検証をしていて発生したエラーの事象の1つについてこちらに書きましたが、その事象がこのバグレポに記載されている内容と類似の事象のように思いました。 2017/9/5 以降コメントが途絶えていたので、初めてのOSSへの貢献として自分で…

MySQL InnoDB Clusterのクラスタ名が変わってしまったのでメタデータを直接更新して復活させた

肝心の「何故こうなったのか」の原因は判明していないけど、MICの検証をしていて、クラスタを止めたり疑似障害を起こしたりしていりしていた時の事。 MySQL Shellを使ってメタデータからクラスタをを取得しようとしたときに以下のようなエラーが出るようにな…

MySQL Group Replication環境作成用のVagrantfileを作った

MySQL Group Replicationを手元ですぐ試せるように雑なVagrantfileを作った。 Vagrantfiles/mysql-group-replication at master · d-shimizu/Vagrantfiles · GitHub

MySQL InnoDB Cluster初期作成時に Dba.createCluster: ERROR: 1 table(s) do not have a Primary Key or Primary Key Equivalent (non-null unique key) となった場合の対処

MySQL ShellからMySQL InnoDB Clusterを作ろうとした時に以下のようなエラーが出ましたので、その原因の調査と対応手順をまとめます。 icrootと言うのは InnoDB Cluster 管理用のユーザとします。 mysql-js> cluster = dba.createCluster('ClusterDev'); A n…

Mulit PrimaryのMySQL Group Replicationでノードをまたぐロックの挙動

Group Replication は、マルチマスターのレプリケーション構成を行うためのMySQLの機能で、5.7.17からプラグインとして提供され利用可能となっています。 Group Replication ではレプリケーションを構成する各MySQLノードに書き込みができる Mulit Primary …

MySQL InnoDB Clusterを作成した時に設定ファイルにdisabled_storage_engines=myisamが自動で追記されていてフルダンプのリストア時にmysql.usersがリストアできなかった件

MySQL InnoDB Clusterをいじっていて、1台ぶっ壊れたのでリストアしようとしたらタイトルの件でハマりました。 ちなみに¥MySQL InnoDB Clusterが悪い訳ではなない。

Stand Alone状態になった時のMySQL InnoDB Cluster復旧メモ

手元の環境でInnoDB Clusterに含まれるMySQLを全て手動で停止させたあとに、 mysqlsh経由でClusterを起動するため、メタデータストアからクラスタ情報を取得しようとすると以下のエラーが発生しました。 mysql-js> var cluster = dba.getCluster('ClusterDev…

MySQL InnoDB Cluster 環境構築手順メモ

検証用にInnoDB Cluster(Group Replication + MySQL Shell + MySQL Router)の環境を作ってみましたので、その際の構築手順のメモ書きです。

Ubuntu 16.04 LTSでMulti-PrimaryなMySQL Group Replication構築手順メモ

MySQLのレプリケーションは、あるMySQLデータベースから、別のMySQLデータベースへデータや操作(DDL)を反映して複製を作成します。 従来のレプリケーションはプライマリ・セカンダリの構成となり、特定の1つのMySQLデータベースサーバ(マスター)のデータを、…

MySQL5.7のマルチソースレプリケーション構築手順メモ

従来のMySQLレプリケーションではマスタ1台から複数台のスレーブへデータを同期するという1:Nの構成しか出来ませんでしたが、MySQL5.7.6〜実装されたマルチソースレプリケーションの昨日を使うと複数台のマスターから1台以上のスレーブへデータを同期できる…

MyNA会(日本MySQLユーザ会) 2013年3月 へ参加してきました

はじめにMyNA会(日本MySQLユーザ会) 2013年3月 へ参加してきました。 MyNA News : MyNA(日本MySQLユーザ会)会 2013年3月 のお知らせ MyNA(日本MySQLユーザ会)会 2013年3月 : ATND私はDBエンジニアというわけではありませんが、最近MySQLデータベースをさわり…

Mac OS X 10.7.5 (LION) でRails3のscaffoldを使った簡易アプリケーションの構築

はじめに前回までで、Apacheと連携させたRuby on Rails環境の構築が完了しました。今回は、開発環境の最終段階として、構築したRuby on Rails環境をBDと連携させて簡易なアプリケーションを動作させてみました。 Railsで利用する標準DBはSQLiteになってます…

Mac OS X 10.7.5 (LION)でRuby on Railsの実行環境を構築する

はじめに前回、Mac OS X 10.7.5 (LION)へRubyをインストールしました。今回はそこにRuby on Rails環境を構築して、簡易Webアプリ作成し、動作させてみました。 環境インストール環境インストール環境は以下です。 プラットフォーム Macbook Air OS Mac OS X …