並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 633件

新着順 人気順

MySQL8.0の検索結果81 - 120 件 / 633件

  • MySQLのEXPLAINが直感とは異なっていた事例 - 私が歌川です

    おもしろかったのでメモ。 CREATE TABLE `tbl` ( `id` BIGINT UNSIGNED NOT NULL, `done` BOOLEAN NOT NULL DEFAULT FALSE, PRIMARY KEY (`id`), KEY `done_and_id` (`done`, `id`) ); tbl テーブルに done = FALSE で100万行INSERTしておく SELECT id FROM tbl WHERE done = FALSE ORDER BY id ASC LIMIT 50 でidを順に集める 処理する UPDATE tbl SET done = TRUE WHERE id IN (...) で処理済にする これを done = FALSE な行がなくなるまで繰り返す KEY `done_and_id (`done`, `id`) ありでEXP

      MySQLのEXPLAINが直感とは異なっていた事例 - 私が歌川です
    • SQL/コマンドインジェクション、XSS等を横串で理解する - 「インジェクション」脆弱性への向き合い方 - Flatt Security Blog

      こんにちは、@hamayanhamayan です。 本稿ではWebセキュリティに対する有用な文書として広く参照されているOWASP Top 10の1つ「インジェクション」について考えていきます。色々なインジェクションを例に挙げながら、どのようにインジェクションが起こるのかという発生原理から、どのようにインジェクションを捉え、より広くインジェクションの考え方を自身のプロダクト開発に適用していくかについて扱っていきます。 SQLインジェクションやコマンドインジェクション、XSSのようなインジェクションに関わる有名な手法について横断的に解説をしながら、インジェクションの概念を説明していきます。初めてインジェクションに触れる方にとっては、インジェクションの実例や基本的な考え方に触れることができ、その全体像を把握する助けになるかと思います。 また、既にいくつかのインジェクション手法を知っている方にと

        SQL/コマンドインジェクション、XSS等を横串で理解する - 「インジェクション」脆弱性への向き合い方 - Flatt Security Blog
      • マルチAZ DBクラスター、RDS(MySQL,Postgres)の新しい高可用性オプションを試してみた | DevelopersIO

        AWSチームのすずきです。 Amazon RDS でプレビューリリースされたマルチAZ DBクラスター (3−AZ DBクラスター)、 3つのアベイアビリティゾーン(AZ)に3つのインスタンスを配置、1台のライターと、2台のリーダーの構成を試す機会がありましたので、紹介させていただきます。 Readable standby instances in Amazon RDS Multi-AZ deployments: A new high availability option マルチAZ DBクラスターの作成 リージョン マルチAZ DBクラスターをサポートするオレゴン(us-west-2)を利用しました。 DBエンジン MySQL バージョン 8.0.26、PostgreSQL バージョン 13.4 が マルチ AZ DB クラスターをサポートします。 今回は MySQL 8.0.26 を

          マルチAZ DBクラスター、RDS(MySQL,Postgres)の新しい高可用性オプションを試してみた | DevelopersIO
        • 第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp

          本連載でも、何回かMySQLをDockerで扱う方法に関して簡単に説明をしてきました。今回は、DockerでMySQLを使う上でもっと便利に扱う方法を紹介してみたいと思います。特に、初期値のロードやコンテナ内にあるmysqlクライアントを使った時に文字化けする問題に対応していきます。 検証環境 今回はMacでDocker for Macを利用して検証を行っております。また、MySQLのDockerイメージは8.0.20で確認を行います。検証のデータには、第2回 MySQLにはじめてのデータを入れてみるで紹介されたKEN_ALL.CSVを利用します。 初期値のロードを自動化したい 第113回 anemoeaterを使ってスローログを可視化してみるでは、以下のように--secure-file-privを起動時に設定して起動していました。--secure-file-privは、指定されたディレク

            第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp
          • note の Aurora MySQL を v2 から v3 へアップグレードしました|tic40

            note ではメインデータベースとして Aurora MySQL を採用し、日々発生する膨大なトラフィックを処理しています。Aurora MySQL v2 (MySQL 5.7 互換) の標準サポートは2024/10/31 に終了するため、これを機に v3 (MySQL 8.0 互換) へのアップグレードを行いました。 アップグレードは無事に完了しましたが、いくつかの問題にも直面しました。これらを共有することで、これからアップグレードを検討している方へ参考になればと思います。 事前に検討した課題アップグレード後に致命的な問題が起きたらどうするかv3 へのアップグレード後に v2 へ切り戻すことは容易ではなく、スナップショットなどからの復元が必要になります。データをロールバックすることになるため、ユーザ影響が極めて大きく避けたい事態です。 そのため、基本的に切り戻しはできないという前提でアッ

              note の Aurora MySQL を v2 から v3 へアップグレードしました|tic40
            • いにしえのインフラエンジニアが気になったAWS re:Invent 2022の新機能 - Qiita

              この記事は AWS Advent Calendar 2022 11日目の記事です。 昨日は @ItsukiOnishi さんの AMIによるEC2インスタンスの起動からターゲットグループへの登録までを自動化した でした。 明日は @hayao_k さんです。 みなさん、AWSの秋祭り re:Invent 2022、今年も楽しめましたでしょうか。 いつも米国時間での開催のため夜更かししてまで見てないよという方や、今年はワールドカップの方を見てたよという方も多かったんじゃないかと思います。 日本語でもまとめ記事が色々と出ていますが、それでもアップデート多すぎて追いきれない方も多いのでは? 今回はエンタープライズなインフラエンジニア目線で気になった新機能を 忙しい人向けに コンパクトに紹介します。 大注目の4サービス 〜インフラエンジニア不要な未来はすぐそこに!?〜 VPC Lattice La

                いにしえのインフラエンジニアが気になったAWS re:Invent 2022の新機能 - Qiita
              • Upgrading GitHub.com to MySQL 8.0

                EngineeringUpgrading GitHub.com to MySQL 8.0GitHub uses MySQL to store vast amounts of relational data. This is the story of how we seamlessly upgraded our production fleet to MySQL 8.0. Over 15 years ago, GitHub started as a Ruby on Rails application with a single MySQL database. Since then, GitHub has evolved its MySQL architecture to meet the scaling and resiliency needs of the platform—includi

                  Upgrading GitHub.com to MySQL 8.0
                • MySQL公式のDockerリポジトリがcontainer-registry.oracle.comに引っ越していた

                  この記事は MySQLのカレンダー | Advent Calendar 2023 の10日目の記事です。昨日は meijik さんの 最新のSQL標準(SQL:2023)とFirebird/MySQL/PostgreSQL | キムラデービーブログ でした。 TL;DRdockerhub のMySQLイメージはもうメンテナンスしていないっぽい ややこしいのだけれど、 docker pull mysql で取得するのは「Docker社がビルドしたMySQLイメージ」で、 docker pull mysql/mysql-server で取得するのが「Oracle社がビルドしたMySQLイメージ」だった引っ越したのは後者のみMySQL Server Community Edition - Repository Detail 5.7は5.7.16と5.7.33だけ、8.0は8.0.22とそれ以降し

                  • 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ を読みました - YOMON8.NET

                    この本を読みました。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS) 作者:ミック翔泳社Amazon 目次 1部 魔法のSQL 2部 リレーショナルデータベースの世界 自分のレベルと書籍のレベル 自分のレベル 書籍のレベル サンプル・演習の実行環境準備 実行環境 コンテナ起動 pgcliで接続 psqlで接続 コンテナ削除 SQLファイルダウンロード 所感 すぐに使える内容もいっぱい 読みやすい 2部の理論難しい 2021/11/24 所感追記 目次 まず目次から。2部構成になっていて、第1部は主に演習をしながら進めていくタイプの内容で、第2部は主に読み物としてリレーショナルデータベースの世界を覗くものになります。 1部 魔法のSQL 1 CASE式のススメ 2 必ずわかるウィンドウ関数 3 自己結合の使い方 4 3値論理とNULL 5

                      達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ を読みました - YOMON8.NET
                    • pt-online-schema-changeの導入時に検討したこと、およびRailsアプリとの併用について - freee Developers Hub

                      おはこんばんちは、Database Reliability Engineer (DBRE) の橋本です。今回は、pt-online-schema-changeというデータベースのスキーマ変更ツールを社内の運用に持っていくための過程や、freeeにおける運用上の工夫を紹介します。pt-online-schema-changeはある程度枯れた技術なので、いくつか事例が紹介されており、すでに運用に乗せている組織もあるかと思われますが、これから新規に導入する方などの参考になると幸いです。 背景 freeeではほぼ毎月ペースで深夜に定期メンテナンスを行なっており、おもにインフラの更新作業やアプリケーションの機能追加に伴うデータベースのスキーマ変更が行なわれます。 ここで少し寄り道をして、スキーマ変更を行なうためのMySQL(ストレージエンジンにInnoDBを使っている前提で進めます)のDDLのパター

                        pt-online-schema-changeの導入時に検討したこと、およびRailsアプリとの併用について - freee Developers Hub
                      • Aurora MySQL 5.6のサポート終了とゼロダウンタイムアップグレードへの挑戦 - Cybozu Inside Out | サイボウズエンジニアのブログ

                        こんにちは、グローバル向けAWS版kintoneのバックエンドエンジニアをしている@ueokandeです。 8月になって暑い日々が続きますね。そして8月と言えば、Amazon Aurora MySQL-Compatible Edition version 1 with MySQL 5.6 compatibility(以下Aurora MySQL 5.6)のサポート終了までおよそ半年となりました。 グローバル向けAWS版kintoneでは、Aurora MySQL 5.6を採用しているバックエンドサービスがいくつかあり、チームで移行作業に取り組んできました。この移行作業は単なるアップグレードだけではなく、ダウンタイムなしでデータベースを移行するチャレンジにも取り組みました。この記事ではAmazon Auroraの移行作業の全貌と、移行戦略を紹介します。 Aurora MySQL 5.6のサポ

                          Aurora MySQL 5.6のサポート終了とゼロダウンタイムアップグレードへの挑戦 - Cybozu Inside Out | サイボウズエンジニアのブログ
                        • MySQL InnoDBにおけるPKにUUIDを使ったINSERTのパフォーマンスの調査 - CubicLouve

                          下記の記事を見て、PKにUUIDを使った際に内部的にどうなっているのかを確認してみました kccoder.com 比較対象として、PKにULIDを使った場合も調べてみました。 github.com ULIDはUUIDと互換性がある、ソート可能な識別子です。 MySQLのバージョン % mysql --version mysql Ver 8.0.19 for osx10.14 on x86_64 (Homebrew) スキーマ mysql> SHOW CREATE TABLE innodb_auto_increment\G *************************** 1. row *************************** Table: innodb_auto_increment Create Table: CREATE TABLE `innodb_auto_incr

                            MySQL InnoDBにおけるPKにUUIDを使ったINSERTのパフォーマンスの調査 - CubicLouve
                          • GitHub.com を MySQL 8.0にアップグレード

                            Authors Jiaqi Liu Daniel Rogart Xin Wu GitHubは、15年以上前に単一のMySQLデータベースを持つRuby on Railsアプリケーションとしてスタートしました。それ以来、GitHubは高可用性を構築する、テスト自動化を実装する、データのパーティショニングを行うなど、プラットフォームのスケーリングと可用性のニーズを満たすために、MySQLアーキテクチャを進化させてきました。今日、MySQLはGitHubのインフラストラクチャの中核を担い、選択可能なリレーショナルデータベースの一部です。 このブログは、1200台以上のMySQLホストを8.0にアップグレードした物語です。私たちのサービスレベル目標(SLO)に影響を与えることなくフリートをアップグレードすることは小手先の技で済むようなものではありませんでした。計画、テスト、そしてアップグレード自体

                              GitHub.com を MySQL 8.0にアップグレード
                            • ぼくらが選んだ次のMySQL 8.0 / MySQL80 Which We Choose

                              ぼくらが選んだ次のMySQL 8.0 yoku0825 / 日本MySQLユーザ会 重い腰を上げて、ついにMySQL 8.0.19からMySQL 8.0.28を(社内的)LTSにすることにしました 8.0.28を選んだ経緯について説明します。ちなみに本番配布はまだです(カナリア段階) ※イベントページ https://line.connpass.com/event/255090/

                                ぼくらが選んだ次のMySQL 8.0 / MySQL80 Which We Choose
                              • MySQLのREPEATABLE READとREAD COMMITTEDの違いを知るために色々試した - $shibayu36->blog;

                                MySQLのトランザクション分離レベルについてふんわりとした理解しかないなと感じた。もう少し理解するために、とくにREPEATABLE READとREAD COMMITTEDの違いを手を動かして色々確認してみた。 以下の記事を参考にした。 [RDBMS][SQL]トランザクション分離レベルについて極力分かりやすく解説 #SQL - Qiita MySQL :: MySQL 8.0 リファレンスマニュアル :: 15.7.2.1 トランザクション分離レベル 大まかな違い 公式ドキュメントを見る限り ノンリピータブルリード、ファントムリードが発生するか 範囲に含まれるギャップへのほかのセッションによる挿入をブロックするか の違いがありそうに見える。 ノンリピータブルリード、ファントムリードが発生するかを試す 以下のテーブルを作る。 CREATE TABLE `posts` ( `title`

                                  MySQLのREPEATABLE READとREAD COMMITTEDの違いを知るために色々試した - $shibayu36->blog;
                                • Migrating Facebook to MySQL 8.0

                                  MySQL, an open source database developed by Oracle, powers some of Facebook’s most important workloads. We actively develop new features in MySQL to support our evolving requirements. These features change many different areas of MySQL, including client connectors, storage engine, optimizer, and replication. Each new major version of MySQL requires significant time and effort to migrate our worklo

                                    Migrating Facebook to MySQL 8.0
                                  • MySQL の SQL thread は lock_wait_timeout を無視するという話 - なゆ発システム研究室

                                    MySQL の話。「Master から slave にレプリケートされた DDL が、slave 側の metadata lock によりブロックされ lock_wait_timeout を超えてエラーになった場合、master と slave でスキーマが合わなくなるのではないか?」と心配になったので調べてみた。 もう少し丁寧に書くと、次のような状況を想定している: Master で何らかの DDL の実行が完了する。 DDL が slave にレプリケートされ、slave の SQL thread が DDL を実行する。 運悪く、DDL が変更するテーブルの metadata lock を握っている別のトランザクションが存在し、DDL がブロックされる (process list に "Waiting for Table metadata lock" と出るやつ)。 DDL が lo

                                      MySQL の SQL thread は lock_wait_timeout を無視するという話 - なゆ発システム研究室
                                    • [Software Design連動企画] 実践クエリチューニング | gihyo.jp

                                      この記事は、『Software Design 2024年6月号』(2024年5月17日発売)の第1特集「SQLチューニングする前に知っておきたい 実行計画&インデックスのしくみ」の連動企画です。ぜひ本誌特集1もお読みください。 適切なインデックスを設計する インデックスの調整によるクエリの高速化は、RDBMSを使用する際の数あるチューニングテクニックの中でも最もお手軽なものです。テーブルのカラムの定義を変えるわけではないので、クエリの結果に違いが生じず、アプリケーションを変更する必要性がないからです。適切なインデックスを付与するだけでチューニングが済むというのは極めて効率的です。それでは適切なインデックスとはどのようなものでしょうか。本記事では、まずインデックスを設計する際に重要なポイントを解説します。 インデックスとSQL構文 「どのカラムの組み合わせに対してインデックスを作成すべきか」

                                        [Software Design連動企画] 実践クエリチューニング | gihyo.jp
                                      • GitHub、1200台以上のMySQL 5.7を8.0へアップグレード サービス無停止のまま成功させる

                                        この記事は新野淳一氏のブログ「Publickey」に掲載された「GitHub、1200台以上のMySQL 5.7を8.0へアップグレード。サービス無停止のまま成功させる」(2023年12月12日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。 米GitHubが提供するGitHub.comは、世界最大のソースコード管理システムを始めとするソフトウェア開発者向け支援サービスを提供しています。 そのGitHub.comはRuby on Railsで構築されており、同社はつねにRubyとRuby on Railsをアップデートし続けていることを今年(2023年)4月に明らかにしています。 参考:GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている そして同社はこのGitHub.comを支える1200台以上

                                          GitHub、1200台以上のMySQL 5.7を8.0へアップグレード サービス無停止のまま成功させる
                                        • 「MySQL徹底入門 第4版」が出るよ - tmtms のメモ

                                          「MySQL徹底入門 第4版」が 7/6 に発売される。🎉 www.shoeisha.co.jp 電子書籍は翔泳社の直販がDRMフリー(たぶん)だからオススメ。 著者用見本誌も届いたので、さすがにこれからやっぱり発売できませんでした!ってことにはならないと思う。 長かった。 本当は去年出る予定だったんだが、なんやかんやで今年になった(よくある)。 第3版が出たのが 2011年だから、実に9年ぶり! 偶然にも第3版と同じ 544ページなんだけど、1ページ辺りの文字数は増えているので情報密度は増しているはず(そしてその分価格も上がってる)。 (ただしくは552ページらしい。) 「MySQL徹底入門」は第n版が出るたびに、毎回ほとんどを書き下ろしてるし、複数人で書いてるんだけど、書いてる人も入れ替わるし担当する章も変わる面白い本。 自分は、今回は第5章「ユーザー管理」、第10章「データベースプ

                                            「MySQL徹底入門 第4版」が出るよ - tmtms のメモ
                                          • 社内のZabbixを4.0系から6.0系にアップグレードした - 仮想化通信

                                            CentOS 7上で動かしていたZabbix 4.0を、Ubuntu 22.04に移行しつつZabbix 6.0系にアップグレードしました。Zabbixのインストール自体はなんてことはないのですが、データベースのアップグレードですこし難儀したため、その記録です。 移行元のLAMP環境 OS: CentOS 7.9.2009 Webサーバー: 2.4.6 DB: MariaDB 5.5.68 PHP: 5.4.16 Zabbix: 4.0.42 CentOS 7自体はまだサポート中ですが、新しいZabbixでは新しめのPHPを要求されるため、Ubuntu 22.04で再構築してDBを移行することとしました。 DBは、文字コードがlatin1で作られていたため、今回を期にUTF-8に移行します。これが今回の罠ポイントです。 移行先のLAMP環境 OS: Ubuntu 22.04 Webサーバー

                                              社内のZabbixを4.0系から6.0系にアップグレードした - 仮想化通信
                                            • MySQL 8.0.32にはUNION ALLをするとWHERE句で日本語が使えなくなるバグが存在します | DevelopersIO

                                              データアナリティクス事業本部のueharaです。 今回は、MySQL 8.0.32でテーブルをUNION ALLした際に生じるバグを共有したいと思います。 バグの事象 こちらで報告されている通り、MySQL 8.0.32では、UNION ALLをするとWHERE句で検索条件として日本語を指定すると、以下のようなエラーが発生して処理が落ちてしまいます。 Cannot convert string '\xE5\x8C\x97\xE6\xB5\xB7...' from utf8mb4 to binary したがって、次のような処理をすることが不可能になります。 WITH tmp_table AS ( SELECT name, data1 FROM table_a UNION ALL SELECT name, data1 FROM table_b ) SELECT * FROM tmp_table

                                                MySQL 8.0.32にはUNION ALLをするとWHERE句で日本語が使えなくなるバグが存在します | DevelopersIO
                                              • 今年の汚れ、今年のうちに!MySQLで使っていないインデックスを削除しよう - クラウドワークス エンジニアブログ

                                                この記事は クラウドワークス Advent Calendar 2023 シリーズ2 2日目の記事です。 こんにちは。crowdworks.jp SRE チーム 田中(@kangaechu)です。 年末といえば大掃除ですね。 皆さんのデータベースにも使っていないインデックスが溜まっていませんか? お掃除してきれいな新年を迎えましょう。 手順 1. MySQLで使っていないインデックスの一覧を取得 未使用のインデックスは sys.unused_indexes ビューで確認できます。 dev.mysql.com しかし、このビューの元データである performance_schema テーブルは起動時から終了時までのデータしか保持していません。 Tables in the Performance Schema are in-memory tables that use no persistent

                                                  今年の汚れ、今年のうちに!MySQLで使っていないインデックスを削除しよう - クラウドワークス エンジニアブログ
                                                • とあるテーブルの中身を一括更新した話から学ぶPITR - Qiita

                                                  この記事は本番環境でやらかしちゃった人のアドベントカレンダー9日目の記事です。 https://qiita.com/advent-calendar/2020/yarakashi-production 去年に引き続き、今年も参加させてもらいました。 ※去年の記事はこちら→ データ移行をしただけなのに…(起こってしまったメール誤配信) 今年のネタも15年くらい前の事で、且つ自分が直接関わった事案ではないのですが、「そういやあの事件、今MySQLだったらどうするかな」と思い書くことにしました。 何があったか もうタイトルで出落ちしていますが本番でUPDATE文を実行する際にWHERE句を付け忘れたという事故です。 当時の状況を整理するとこんな感じだったと思います。 対象サービス: 年商10億円くらいの自社サービス 作業内容: 仮登録されている顧客の情報を指定された情報で更新する 作業環境: DB

                                                    とあるテーブルの中身を一括更新した話から学ぶPITR - Qiita
                                                  • Performance Schemaの仕組みと活用法の紹介 - freee Developers Hub

                                                    メリークリスマス!!freee Developers Advent Calendar 2022 25日目担当のid:shallow1729です!昨日はtdtdsさんでfreee特有の風土病:エンジニアの症例と寛解についてでした! 僕からはMySQLのPerformance Schemaという機能の仕組みの解説とfreeeでの活用についての紹介をします。 前置き Performance SchemaはMySQLで実行されるトランザクションやクエリなどの実行時の様々な情報を取得してくれる機能です。特に面白いのは後で説明するようにstageやwaitなどのMySQLの実装レベルでのモニタリングを提供してくれているところで、これを使う事でどのあたりがボトルネックになっているかについて実際のProduction環境のワークロードで分析できる点です。また、最近だと例えばAWSのRDSを用いているとPe

                                                      Performance Schemaの仕組みと活用法の紹介 - freee Developers Hub
                                                    • ISUCON10予選で12位になり本選進出を決めました - Gマイナー志向

                                                      TL;DR ISUCON10の本選出場が決定しました。わいわい。 予選12位、最終スコアは2837でした。 毎年素晴らしいコンテストを開催してくださる運営様には、本当に頭が下がります。いつもありがとうございます。 本選もがんばるぞ! 体制 チーム名 ウー馬場ーイーツ あいこん なまえ やくわり matsuu バリバリ実装する前衛 netmarkjp 司令塔 ishikawa84g SELinuxAppArmorとレギュレーションやコードやDiscordを見るセキュリティ&情報官 今回は3人が同じ場所に集まらずすべてリモート体制としました。 3人だけのDiscordサーバを用意し、Discord上で画面共有と音声チャットで進めています。 方針 毎年同じですが sshで接続してtmux上でvimで直接編集 isuumo配下でgit initを実行するが履歴保存用でbranchは作成しない 毎年

                                                        ISUCON10予選で12位になり本選進出を決めました - Gマイナー志向
                                                      • Aurora MySQLとAurora PostgreSQLの機能を比較してみた(2022年4月版) | DevelopersIO

                                                        ここまでで、本エントリでまとめたかったことが9割5分終わりました。 他にもこんなところに機能差異があるよ!や、ここ間違っているぞ!などの情報があればTwitter(@ashi_ssan)のリプライもしくはDM等でぜひフィードバックいただきたいです。 いくつかピックアップして説明してみる ここまでで終わり、ではなんとなく味気ないエントリになってしまうと思ったので、機能に差があった箇所について個人的に気になった機能を数点ピックアップしてみました。 バックトラック バックトラックは指定した時間までDBクラスターを「巻き戻す」機能です。 サービスの中断を最小限に抑えながらのエラーの取り消し、数分で巻き戻し可能な迅速な実行などが可能なところに利点があります。 バックトラックの機能の概要について、以下のアップデートブログを参照ください。 そんなバックトラックですが、対応しているDBエンジンはMySQL

                                                          Aurora MySQLとAurora PostgreSQLの機能を比較してみた(2022年4月版) | DevelopersIO
                                                        • ISUCON12予選問題をdocker-composeで起動する - Magnolia Tech

                                                          説明のために手順を確認したので、その覚書。 作業環境にリポジトリを用意する github.com $ git clone git@github.com:isucon/isucon12-qualify.git Dockerをインストールする www.docker.com 値上げが最近話題になりましたが、個人利用は無料です。 www.docker.com 次回はRancher Desktopを試してみます。 rancherdesktop.io docker-compose.ymlを書き換える 一箇所だけ書き換えないと、起動しません。 Docker Hubから「mysql/mysql-server:8.0.29」のイメージが無くなっていて、MySQLが起動できません。8.0.30以降のバージョンを指定しましょう(無くなった理由は探せませんでした...)。 2022/11/06追記 mysql-s

                                                            ISUCON12予選問題をdocker-composeで起動する - Magnolia Tech
                                                          • SREに興味のある方向け、SRE Weekly #280が公開 - 「堅牢性の原則がもたらす弊害」など

                                                            7月25日、SRE Weekly Issue #280が公開された。 SRE Weeklyは、SRE(Site Reliability Engineering)に関する注目情報を紹介するメールマガジン。 堅牢性の原則がもたらす弊害 The Harmful Consequences of the Robustness Principle 堅牢性の原則(送信するものに関しては厳密に、受信するものに関しては寛容に)は成熟したプロトコルの開発には最適でないかもしれない。 私たちはKubernetesを使用していません。 No, we don’t use Kubernetes なぜKubernetesが自分たちに合わないのかを説明している。 サービス停止時(CDN停止時など)の個人情報漏洩報告 Personal data breach reporting for service outages (s

                                                              SREに興味のある方向け、SRE Weekly #280が公開 - 「堅牢性の原則がもたらす弊害」など
                                                            • MySQL 8.0 vs 外部キー制約 vs ALTER TABLEでメタデータロック待ちになったら疑うこと

                                                              TL;DR MySQL 8.0(細かくは8.0.4っぽい)とそれ以降は「外部キー制約を持っているテーブルにSELECTするとそのテーブルの親テーブルにもメタデータロック(MDL)を置くようになった」 MDLであるがゆえに foreign_key_checks をOFFにしようが 無効化はできない MySQL :: WL#6049: Meta-data locking for FOREIGN KEY tables WL#6049 “Meta-data locking for FOREIGN KEY tables” and WL#11059 · mysql/mysql-server@6626f76 これ以降にもいくつかコミットが続いている 論より証拠。 サンプルスキーマはこんなかんじ。 CREATE TABLE `item` ( `item_id` int NOT NULL, `registe

                                                                MySQL 8.0 vs 外部キー制約 vs ALTER TABLEでメタデータロック待ちになったら疑うこと
                                                              • Kubernetes/コンテナ/Docker界隈の注目記事をまとめてみた【2022年11月版】

                                                                この記事は、「TechFeed Experts Night#7 〜 コンテナ技術を語る」の開催に際し、TechFeedのデータを元に日本語記事ランキングを紹介していくものです。 60日以内で、獲得スコアが高かった順にトップ10を紹介しています(1pt以下の記事はランキングに含めていません)。 本記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 こんにちは、TechFeed CEOの白石です。 この記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るの開催に際し、TechFeedのデータを元に日本語記事ランキングを紹介していくものです。 60日以内で、獲得

                                                                  Kubernetes/コンテナ/Docker界隈の注目記事をまとめてみた【2022年11月版】
                                                                • crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ

                                                                  こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。 crowdworks.jpでは、2023年8月にAWS RDS MySQL 5.7から8.0へのアップデートが完了しました(ようやく!)。 今回はMySQL 8.0へのアップデートの手順と対応が必要な変更点について書いていきます。 MySQL 8.0にアップデートした理由 MySQL 8.0にアップデートした理由はAWS RDS MySQLのEOL対応のためです。 AWS RDS MySQL 5.7のEOLは2023年10月(のちに2023年12月に変更されました)であり、8.0へのアップデートが必要でした。 crowdworks.jpで使用している他のMySQLデータベースは8.0へのバージョンアップを完了していました。 しかしcrowdworks.jpのマスタデータベースは30億行を保持し、1日に約

                                                                    crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ
                                                                  • Windows11+WSL2+Docker+Rails+MySQL+API-環境構築 - Qiita

                                                                    Dockerを使ってRailsのAPI環境を構築する機会があり、環境構築でわからない事の調べ直しに時間が掛かっていたので、備忘録として記事にまとめた。 下記の開発環境で実施しました。 開発環境 Edition: Windows 11 Home, Version: 22H2, OSビルド: 22621.1702 WSL2 Docker Desktop for Windows: 4.20.1 (110738) Docker Engine: 24.0.2 Docker Compose: v2.18.1 Ruby: 3.2.2 Rails: 7.0.5 MySQL: 8.0.33 次に、ディレクトリは下記の構成にしました。 ディレクトリ名は適宜変えて下さい。 ディレクトリ構成 real_world ├realworld │├Gemfile │├Gemfile.lock │├entrypoint.s

                                                                      Windows11+WSL2+Docker+Rails+MySQL+API-環境構築 - Qiita
                                                                    • ISUCON12予選にシン・ウー馬場ーイー2として参加し、2位で予選突破しました - Gマイナー志向

                                                                      TL;DR ISUCON12予選にシン・ウー馬場ーイー2 として出場しました。 結果、予選2位で本選出場をきめました。やったね。 最終スコアは75800、予選中のベストスコアは76525でした。本選もがんばるぞ! 毎年素晴らしいコンテストを開催してくださる運営様には感謝しかありません。本当にありがとうございます!!1 体制 あいこん なまえ やくわり ペアプロ matsuu バリバリ実装する前衛 ドライバー netmarkjp 司令塔+ベンチ実行+結果解析 ナビゲーター ishikawa84g セキュリティ+情報官+動作確認 AppArmor、マニュアルや公式アナウンスの把握、ブラウザでの挙動確認 ナビゲーター 今年も3人が別々の場所からリモート参加です。 コミュニケーションはDiscordを使ってます。3人それぞれの画面を共有しながら音声チャットつなぎっぱなしです。 手元の環境 どうでも

                                                                        ISUCON12予選にシン・ウー馬場ーイー2として参加し、2位で予選突破しました - Gマイナー志向
                                                                      • AWS から OCI に移行してコストを約半額にした話 - Qiita

                                                                        OCIについて知らない方向け AWSは知ってるがOCIを知らないという方は取り急ぎ以下のようなページを読むとイメージが掴みやすいかと思いますのでリンクを貼っておきます。 本件では細かい用語の違いなどの説明は省略します。 OCIへの移行理由 今回移行した理由はコスト削減が最大の理由でした。 オンプレからAWSに移行したのは3年前の2021年2月で当時のドル円相場は約106円でした。 2021年のAWS移行当時、RDSのReserved InstancesとEC2のSavings Plansを3年で購入していました。(通常は1年などで購入されるケースの方が多いと思いますが、歴史のあるサービスなので急激なリソースの増減はあまり無さそうではと考えたためとなります。結果としては円が強いタイミングで安く買えて助かりました) 移行を検討し始めたのはRI/SPが切れる1年前くらいで、その時点のドル円レート

                                                                          AWS から OCI に移行してコストを約半額にした話 - Qiita
                                                                        • Amazon RDS で100年有効な新しいCAが利用可能になりました | DevelopersIO

                                                                          Amazon RDS で、セキュアなDB通信を行う際 に利用する認証局 (CA) として、 有効期限が40年弱(rds-ca-rsa2048-g1)、100年弱(rds-ca-rsa4096-g1, rds-ca-ecc384-g1) のCAが、2023年1月13日のアップデートで利用可能になりました。 Amazon RDS now supports new SSL/TLS certificates and certificate controls 今回、利用可能となった新しいCAを試す機会がありましたので、紹介させていただきます。 設定 DBエンジンバージョンは「MySQL 8.0.28」を利用しました。 認証機関として rds-ca-2019 (デフォルト) 以外の選択が可能になりました。 rds-ca-2019 (デフォルト) rds-ca-ecc384-g1 rds-ca-rsa4

                                                                            Amazon RDS で100年有効な新しいCAが利用可能になりました | DevelopersIO
                                                                          • チームで共有するための『Rails 6 x MySQL 8』Docker環境構築手順 - Qiita

                                                                            今回はRails 6とMySQL 8を組み合わせたWebアプリケーションのDocker環境を構築する手順について紹介します。 Rails 6からwebpackerが標準でインストールされるようになったり、MySQL 8からユーザー認証の方式が変わったりと環境構築でつまる部分がいろいろとあったため参考になればと思います。 複数人でもスムーズに開発ができるようにするためリモートリポジトリからcloneしてきたらdocker-compose upするだけでアプリケーションが立ち上がるという環境をゴールにします。 各種バージョンは以下の通りです。 Ruby on Rails: 6.0.3.2 Ruby: 2.7.1 MySQL: 8.0.21 実行環境はDocker Desktop for Mac(バージョン 2.3.0.4)を利用しています。 Railsアプリケーションの準備 ディレクトリの作成

                                                                              チームで共有するための『Rails 6 x MySQL 8』Docker環境構築手順 - Qiita
                                                                            • マルチスレッドレプリカにおける運用時の注意点について

                                                                              はじめに 2021 年 10 月 19 日に MySQL 8.0.27 がリリース されました。非同期レプリケーションにおける変更点の 1 つとして、デフォルトでマルチスレッドレプリカが有効になり、レプリカの遅延を軽減しやすくなることが期待できるようになりました。 Replication: Multithreading is now enabled by default for replica servers. A multithreaded applier has a number of applier threads that execute transactions in parallel. This behavior can avoid many cases of unwanted replication lag that can cause temporary divergenc

                                                                                マルチスレッドレプリカにおける運用時の注意点について
                                                                              • MySQL のロック範囲は実行計画で変わるという話 - mita2 database life

                                                                                最近、ANDPADでデータベース周りの技術顧問をさせて頂いています。ANDPADのエンジニアの皆さんから「データベースのロックまわりを詳しく知りたい!」というお話を受けて、先日、ロック周りの社内勉強会を開催しました。 SQLでは一般的なプログラミング言語と違って、ロックの制御を明示的に記述しません。ロックは暗黙的に(自動的に)データベースが必要なロックを獲得します。データベースのロックが わかりにくい・むずかしい と言われることが多いのはこういった背景があると思います。 MySQL のロック範囲は実行計画で変わる 更新対象の行がロックされるのは予測が付く方が多いと思います。 しかし、MySQL(InnoDB)では更新対象でなくても行がロックされることがあります。 このようなサンプルデータを使って説明します。 mysql> CREATE TABLE `lockt` ( -> `pk` big

                                                                                  MySQL のロック範囲は実行計画で変わるという話 - mita2 database life
                                                                                • Cloud SQL for MySQL 5.7 のデータを Cloud SQL for MySQL 8.x へ DMS を利用して移行してみた - VISASQ Dev Blog

                                                                                  はじめに こんにちは!DPE(Developer Productivity Engineering)チームの高畑です。 最近カーオーディオにハマっていて、スピーカーを変えたり DSP アンプを導入したりとオーディオの沼に腰あたりまで浸かってしまいました。 スピーカーケーブルをちょっと良いやつに変えたりしてみたんですが、正直違いが分かっていないので頭まで浸かるのはまだ先のようです。 現在、ビザスクでは遅ればせながら MySQL 5.7 から MySQL 8.x へアップグレードするためのプロジェクトが進行しており、既存のデータを移行するため諸々の検証を行なっていました。 検証を進めるにあたり、データの移行に DMS (Database Migration Service) を利用する方針となったので、経緯や方法をご紹介したいと思います。 移行方法の検討 当初、既存の MySQL 5.7 デー

                                                                                    Cloud SQL for MySQL 5.7 のデータを Cloud SQL for MySQL 8.x へ DMS を利用して移行してみた - VISASQ Dev Blog