並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 1234件

新着順 人気順

mysqlの検索結果161 - 200 件 / 1234件

  • 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 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;
        • MySQL互換のスケーラブルな分散DB「TiDB」、スマレジや@cosmeによる評価は本番環境のDBから移行可能、性能も十分高いと[PR]

          MySQL互換のスケーラブルな分散DB「TiDB」、スマレジや@cosmeによる評価は本番環境のDBから移行可能、性能も十分高いと[PR] いわゆる「NewSQL」と呼ばれる、トランザクション処理を実現しつつも非常に高度なスケーラビリティを備えた新しい種類のリレーショナルデータベースが登場し、注目されています。その代表的な製品の1つが、オープンソースで開発されている「TiDB」(タイデービー)です。 TiDBはアプリケーションからはMySQLと同様にアクセスできるMySQL互換のプロトコルを備えつつ、TiDBを構成する主要な2つのレイヤである、SQL文を処理する「TiDB」とデータを処理する「TiKV」がそれぞれオンラインでのスケールアウトに対応することで、リニアに性能を拡張することが可能です。 1つのTiDBクラスタで400TB以上のデータ容量、1つの分散テーブル内で数兆行のデータを扱え

            MySQL互換のスケーラブルな分散DB「TiDB」、スマレジや@cosmeによる評価は本番環境のDBから移行可能、性能も十分高いと[PR]
          • 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 を無視するという話 - なゆ発システム研究室
            • AWS Aurora MySQL のメンテナンスの準備・実施・振り返りをチーム横断で行った話 - Repro Tech Blog

              こんにちは、Sys-Infra Unit の小山です。今回は、AWS Aurora MySQL のメンテナンス準備・実施・振り返りまでを複数チーム横断で行った話を紹介します。 背景と課題 Repro では、AWS Aurora MySQL を利用してサービスを提供しています。Aurora MySQL は、MySQL 互換のリレーショナルデータベースサービスで、Aurora MySQL にも独自のバージョン番号が設定されています。バージョンにはサポート期間が設定されているため、利用しているバージョンのサポート期間が終了する前にはアップデートしておきたいものになります。 今回、Repro で利用している Aurora MySQL のバージョンがサポート終了日に近づいてきたため、バージョンアップデートをする必要がありました。Aurora MySQL のバージョンを上げるには、Aurora MyS

                AWS Aurora MySQL のメンテナンスの準備・実施・振り返りをチーム横断で行った話 - Repro Tech Blog
              • JavaScriptランタイム「Bun v0.5」登場。MySQLやPostgreSQLのデータベース接続対応、新機能「Workspaces」、Bun.dnsなど搭載

                JavaScriptランタイム「Bun v0.5」登場。MySQLやPostgreSQLのデータベース接続対応、新機能「Workspaces」、Bun.dnsなど搭載 サーバサイドで実行可能なJavaScriptランタイム「Bun」の最新バージョン「Bun v0.5」がリリースされました。 Introducing Bun v0.5 - bun install workspaces && bun install bugfixes - postgres, mysql, redis & more DB-related npm pkgs work in bun now - Bun.dns && some of node:dns, node:net, & node:tls - new WebSocket supports headers - HTTP client proxy supporthttp

                  JavaScriptランタイム「Bun v0.5」登場。MySQLやPostgreSQLのデータベース接続対応、新機能「Workspaces」、Bun.dnsなど搭載
                • MySQLユーザー必見!世界の名だたる企業が活用する「TiDB」の特徴と強みに迫る - Qiita Zine

                  2009年に来日後、インフラエンジニアとして経験を積む。その後、約10年間、外資系メーカーでプリセールスなどを経験。2021年よりPingCAP日本法人の立ち上げに伴い、PingCAP Inc.へ入社。現在はPingCAP株式会社の代表取締役社長を務める。 チタンのような堅牢なデータベースを目指して「TiDB」と命名 ――はじめに、読者にそれぞれ自己紹介をお願いします。 Sunny Bains氏(以下、Bains):私は2000年からずっと、データベースのカーネルやストレージエンジンといったコアな部分の開発に取り組んできました。PingCAPにジョインしたのは2022年4月で、現在はクラウドチームに属しています。入社前はオラクルのソフトウェア開発部門のシニアディレクターとして、MySQLの最も大切なエンジンであるInnoDBに関わっていました。 Eric Han氏(以下、Eric):来日し

                    MySQLユーザー必見!世界の名だたる企業が活用する「TiDB」の特徴と強みに迫る - Qiita Zine
                  • MySQL: COUNT(*) は 1 ?? - sakaikの日々雑感~(T)編

                    Twitterに書き殴ったのですが、流れてしまうので、一応こちらにもまとめておこうかと。 これって、何を数えているんでしたっけ? mysql> SELECT COUNT(*); +----------+ | COUNT(*) | +----------+ | 1 | +----------+— 坂井 恵(SAKAI Kei) (@sakaik) 2020年5月1日 コトの発端はちょっとした打ち間違いだったのですが、MySQL は FROM 書かなくても演算できます。こんな感じ。 mysql> SELECT 3; +---+ | 3 | +---+ | 3 | +---+ mysql> SELECT SQRT(64); +----------+ | SQRT(64) | +----------+ | 8 | +----------+ ここで、SELECT COUNT(*) とすると何が返って

                      MySQL: COUNT(*) は 1 ?? - sakaikの日々雑感~(T)編
                    • ANDPADでのAurora MySQL Ver.2へのバージョンアップ - ANDPAD Tech Blog

                      こんにちは、最近ランニングをサボって体重が増えたANDPADのDBRE植木です。 秋にはフルマラソンに再チャレンジする予定なので改めて頑張ります。 今回はGW前にANDPADでAurora MySQL(以下、Aurora)をVer.1(MySQL5.6互換)からVer.2(5.7互換)にバージョンアップした件について書かせていただきます。DBMSのバージョンアップで重要なのは9割以上準備作業ですが、スタートアップ企業などでは必要な準備ややっておいた方が良い事などがわからないことも多いかと思います。ANDPADに入社して約一年になりますが、その一年の間に実施した準備の話などにも重みを置いて記事を書いてみました。 ANDPAD及びそのシステムについて AuroraバージョンアップのEOLについて バージョンアップ前にやるべきおすすめ 1. DBのエンドポイント指定をCNAMEにする 2. イン

                        ANDPADでのAurora MySQL Ver.2へのバージョンアップ - ANDPAD Tech Blog
                      • 【追記有り】Amazon Aurora MySQL Version3でのOnline DDLの落とし穴とその回避方法 - CyberAgent SRG #ca_srg

                        メディア統括本部 サービスリライアビリティグループ(SRG)の鬼海 雄太(@fat47)です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 本記事は、Ama

                          【追記有り】Amazon Aurora MySQL Version3でのOnline DDLの落とし穴とその回避方法 - CyberAgent SRG #ca_srg
                        • Introducing MySQL Shell for VS Code

                          • GitHub - eveningkid/denodb: MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno

                            import { DataTypes, Database, Model, PostgresConnector } from 'https://deno.land/x/denodb/mod.ts'; const connection = new PostgresConnector({ host: '...', username: 'user', password: 'password', database: 'airlines', }); const db = new Database(connection); class Flight extends Model { static table = 'flights'; static timestamps = true; static fields = { id: { primaryKey: true, autoIncrement: true

                              GitHub - eveningkid/denodb: MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno
                            • 「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 のメモ
                              • GitHub - warp-tech/warpgate: Smart SSH, HTTPS and MySQL bastion that requires no additional client-side software

                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                  GitHub - warp-tech/warpgate: Smart SSH, HTTPS and MySQL bastion that requires no additional client-side software
                                • 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に関する取り組み(仮)

                                    Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation

                                      さいきんのMySQLに関する取り組み(仮)
                                    • 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へアップグレード サービス無停止のまま成功させる
                                      • Amazon RDS for MySQLでMySQLエンジンバージョンを5.5から5.7へアップグレードする方法 | Amazon Web Services

                                        Amazon Web Services ブログ Amazon RDS for MySQLでMySQLエンジンバージョンを5.5から5.7へアップグレードする方法 Amazon Web Servicesでは、フルマネージド型のリレーショナルデータベースサービスとして、Amazon Relational Database Service (Amazon RDS) および Amazon Aurora を提供しています。Amazon RDS for MySQLを利用することで、AWSクラウド上でMySQLを容易にデプロイし、運用管理を行うことができるようになります。 Amazon RDSでは、定期的にメジャーまたはマイナーエンジンバージョンの廃止を行います。メジャーバージョンについては、コミュニティ版の対象バージョンがEOLを迎え、ソフトウェアの修正やセキュリティアップデートが行われなくなった場合

                                          Amazon RDS for MySQLでMySQLエンジンバージョンを5.5から5.7へアップグレードする方法 | Amazon Web Services
                                        • 【MySQL】同一トランザクションの実行結果は次の処理にも反映される - Qiita

                                          1つのトランザクションの中でINSERT、SELECTを連続で実行したところ、先にINSERTしたCOMMITされていないレコードも取得できました。 なぜ取得できるのか分からなかったので調査・検証してみました。 検証 SQLを実行 トランザクション前のテーブルの状態です。 mysql> SELECT * FROM animals; +----+------+ | id | name | +----+------+ | 1 | dog | +----+------+ 1 row in set (0.00 sec)

                                            【MySQL】同一トランザクションの実行結果は次の処理にも反映される - Qiita
                                          • 今年の汚れ、今年のうちに!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で使っていないインデックスを削除しよう - クラウドワークス エンジニアブログ
                                            • Aurora MySQLとAurora PostgreSQLの機能を比較してみた(2022年4月版) | DevelopersIO

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

                                                Aurora MySQLとAurora PostgreSQLの機能を比較してみた(2022年4月版) | DevelopersIO
                                              • MySQLで3億レコード物理削除した話 - Qiita

                                                はじめに こんにちは。webエンジニア社会人をしている ningenMe です。 タイトル通り。MySQLで3億レコード物理削除した話。 ちょっとハマったので備忘録。 はじまりはアラート はじまりはアラートだった。 僕が運用・保守しているバッチサーバでは、mysqlからちょうど直近1ヶ月分のデータを毎日1回selectする定期処理をしている。 いつもなら1時間程度で終わる処理のはずが、その日は7,8時間経っても終わらずアラートが鳴り止まない.....。 原因追求 とりあえずリトライしたり、ログ見たりしたもののあんまり悪いところがなかった。 クエリもちゃんとindex効いてる。なんでだろうと思ったらDBの容量が結構大きくなっていたことに気づいた。 3億5千レコード。インデックスちゃんと効いてたので多分普通に遅いだけっぽい。 必要なデータ取得は1ヶ月分である12'000'000件ほど。このse

                                                  MySQLで3億レコード物理削除した話 - Qiita
                                                • MySQLのquery review helperを作ってみた - tom__bo’s Blog

                                                  せっかくのGWなので、おもちゃを作りました。 Query Review Helperです。 github.com 背景 最近MySQLで実行されるクエリをレビューするタスクが異常に多くなってきました。 開発者の全員がindexやjoin, partition, limit offsetなどなどのハマりどころを知っているというのが理想ではありますが、そうも行きません。 大体EXPLAINをかけてtable scanになっていないか、sortやlimit offsetで劇的に重いクエリがないか確認すれば、すぐに問題になるようなことはありませんがいくつか問題があります。 複数のサービスを横串に見ていると各サービスのテーブル設計の詳細を知らない 大きいサービスだとテーブル数やカラム数が異常に多い(数百テーブル, 各テーブルに数十カラムとFKが、、、とか) tableやcolumn, subquer

                                                    MySQLのquery review helperを作ってみた - tom__bo’s Blog
                                                  • MySQL互換の分散DB「TiDB Cloud」がサーバレスに対応、「TiDB Cloud Serverless Tier」プレビューを提供開始

                                                    MySQL互換の分散DB「TiDB Cloud」がサーバレスに対応、「TiDB Cloud Serverless Tier」プレビューを提供開始 MySQL互換の分散データベース「TiDB」(タイデービー)を提供するPingCAPは、クラウド上でTiDBをサーバレスとして提供する「TiDB Cloud Serverless Tier」のプレビュー提供開始を発表しました。 We are excited to introduce the beta release of #TiDBCloud #Serverless Tier. It is the industry-first serverless #HTAP database service that allows you to deploy your infrastructure at scale in the most cost-effic

                                                      MySQL互換の分散DB「TiDB Cloud」がサーバレスに対応、「TiDB Cloud Serverless Tier」プレビューを提供開始
                                                    • 【第12回】Go言語(Golang)入門~MySQL接続編~ – 株式会社ライトコード

                                                      package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm" ) func main() { _, err := sqlConnect() if err != nil { panic(err.Error()) } else { fmt.Println("DB接続成功") } } // SQLConnect DB接続 func sqlConnect() (database *gorm.DB, err error) { DBMS := "mysql" USER := "go_example" PASS := "12345!" PROTOCOL := "tcp(localhost:3306)" DBNAME := "go_example" CONNECT := USER + ":"

                                                        【第12回】Go言語(Golang)入門~MySQL接続編~ – 株式会社ライトコード
                                                      • 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でメタデータロック待ちになったら疑うこと
                                                        • ruby.wasm で MySQL Parameters を作り直した - tmtms のメモ

                                                          プライベートでは基本的に誰の役にも立たないプログラムを作ってるんだけど、たまにうっかり MySQL Parameters みたいな役に立つものを作ってしまう。 MySQL Parameters は5年くらい前に Vue.js の勉強のために作ってみたんだけど、結局そのまま Vue.js は触らず放置状態だった。MySQL の新しいバージョンが出るたびにデータは更新してたけど。 ruby.wasm で Ruby が WebAssembly 上で動くようになり、ブラウザ上で JavaScript の代わりに使えるようになったんで、MySQL Parameters を Ruby で作り直してみた。 ruby.wasm ruby.wasm のページに載ってるけど、これだけでブラウザ上で Ruby が動く。簡単。 <html> <script src="https://cdn.jsdelivr.ne

                                                            ruby.wasm で MySQL Parameters を作り直した - tmtms のメモ
                                                          • 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
                                                            • Ansible AWXでMySQLの構成管理を行う - MicroAd Developers Blog

                                                              マイクロアドでインフラエンジニアをやっている長田です。おもにMySQLなどのDBA業務に携わっていますが、今回はAnsible AWXを用いてMySQLのユーザやパラメータといった構成の管理を導入したことについてお話したいと思います。 Ansible / Ansible AWXとは ご存知の方も多くおられると思いますが、AnsibleとはRed Hat社が主導して開発されているオープンソースの自動化・構成管理ツールです。最新バージョンは2019/05/16にリリースされたv2.8で、現在も様々なミドルウェア・クラウド・ネットワーク機器に対応する機能が精力的に開発されています。 Ansible AWXとはRed Hat社が有償で提供しているAnsible Towerのアップストリーム版にあたるOSSであり、AnsibleをWeb GUI上もしくはAPIによって操作することができます。プレイブ

                                                                Ansible AWXでMySQLの構成管理を行う - MicroAd Developers Blog
                                                              • Three bugs in the Go MySQL Driver

                                                                EngineeringThree bugs in the Go MySQL DriverCheck out what we learned from shipping our busiest Go service in production—we found 3 bugs in the Go MySQL driver. Although GitHub.com is still a Rails monolith, over the past few years we’ve begun the process of extracting critical functionality from our main application, by rewriting some of the code in Go—mostly addressing the pieces that need to ru

                                                                  Three bugs in the Go MySQL Driver
                                                                • オラクル、MySQLのデータベースエンジンでJavaScriptをサポート、ストアドプロシージャなどJavaScriptで記述可能に。プレビュー版をリリース

                                                                  オラクル、MySQLのデータベースエンジンでJavaScriptをサポート、ストアドプロシージャなどJavaScriptで記述可能に。プレビュー版をリリース オラクルは、MySQLのストアドプロシージャやストアドファンクションの記述言語としてJavaScriptをサポートすると発表し、対応したMySQL Enterprise Editionのプレビュー版を公開しました。 Oracle CloudやAWS、Microsoft Azure上でオラクルが提供しているマネージドサービス、MySQL Heatwaveでも利用可能になっています。 JavaScriptのサポートでMySQLエコシステムの拡大を狙う ストアドプロシージャやストアドファンクションは、データベースエンジン側にあらかじめまとまったクエリの処理などを登録しておき、必要に応じて呼び出すことでその処理を実行できるという機能です。 複

                                                                    オラクル、MySQLのデータベースエンジンでJavaScriptをサポート、ストアドプロシージャなどJavaScriptで記述可能に。プレビュー版をリリース
                                                                  • 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にアップデートしました - クラウドワークス エンジニアブログ
                                                                    • sqldefをMySQLに対してAWS Lambdaから実行するパッケージを作った - たごもりすメモ

                                                                      k0kubun/sqldefはすばらしいプロダクトで便利に使ってるんだけど、もちろんDBに接続できる場所から実行する必要がある。で、DBはAWSのprivate VPCにあるのでラップトップやCI環境からやるというわけにはいかない。しょうがないので、現在はEC2インスタンスを作成して使うときだけ起動、終了したら停止してた。んだけど、これがまた面倒なんだよね。起動と停止も面倒だし、なんかあったときに確実に作り直せるようにするには……とか考えるのもダルいし、EC2へのSSHする方法やEC2へリポジトリをチェックアウトする方法も考えないといけないし。 なのでしばらく考えてたんだけど、Lambdaでやれるといいんだよな、という希望を現実的に考えて実装してみた。のがこちら。 github.com こいつは大変便利。リポジトリをcloneして、プライベートリポジトリからスキーマファイルを読み込むならデ

                                                                        sqldefをMySQLに対してAWS Lambdaから実行するパッケージを作った - たごもりすメモ
                                                                      • mysqlsh (MySQL Shell): Dump and Restore in AWS Aurora - LayerX エンジニアブログ

                                                                        LayerX インボイス を開発しているDX事業部の @yyoshiki41(中川佳希)です。 DX事業部ではデータベースとして MySQL(Amazon Aurora)を利用しています。 今回のブログは、mysqlsh (MySQL Shell) を用いて、Dumpデータ取得とリストアを行う際に気をつける点です。 mysqldump, mysqlpump Dumpデータ取得を行う際に、広く知られているのが mysqldump かと思います。 MySQL 5.7.8 からは、 mysqlpump という別のクライアントツールも提供されるようになりました。 主に下記のような特徴があります。 並列での処理が行われる(Parallel) Dump Progress がみれる 圧縮方式は、LZ4 と ZLIB が使用可能(mysqlpump Ver 1.0.0 Distrib 5.7.35) TA

                                                                          mysqlsh (MySQL Shell): Dump and Restore in AWS Aurora - LayerX エンジニアブログ
                                                                        • MySQLSchemaDoc - WebベースのMySQLのテーブル定義書

                                                                          MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました システム開発時において、データベースは要になります。アプリケーションサーバのフレームワークなどは変更したとしても、データベースのスキーマはなかなか容易に変更できるものではありません。 途中からメンバーが入ってきたりすることもあります。データベースの定義はメンバー全体できちんと把握できているのが望ましいでしょう。そこで使えるのがMySQLSchemaDocです。 MySQLSchemaDocの使い方 表示例です。左側にテーブルの一覧、右側でその構造を表示します。 絞り込みもできます。 テーブル名も絞り込んで表示できます。 MySQLSchemaDocが面白いのは、その表示をXSLTで行っていることです。MySQL標準のダンプを使ってスキーマをXMLで出力し、それをXSLTで表示してい

                                                                            MySQLSchemaDoc - WebベースのMySQLのテーブル定義書
                                                                          • yoku0825さんによるMySQL講座を開催しました! - Pepabo Tech Portal

                                                                            こんにちは、@hrysd です。 EC事業部で、事業部のパートナーをメインとしこれから半年ほどをかけて @yoku0825 さんにMySQL講座を開催していただくことになりました! この記事ではそこに至る経緯、第一回目の様子を簡単にお伝えしたいと思います。 講座開催の目的 開催のきっかけ、目的を社内の文章から抜粋して紹介します。 カラーミーショップを中心として、GMOメディアの@yoku0825さんにMySQLコンサルティングの取り組みをはじめて半年がたちました。先日、この半年のふりかえりを行い、次のステップとして、(EC事業部)エンジニアのSQL(MySQL)力の底上げに時間を使いたいという提案をしました。 半年やってみてわかってきたことは、MySQLサーバのパフォーマンス改善にはクエリの改善というのが大きな影響をあたえることができるが、その改善自体は単純なインデックスの追加で解決できる

                                                                              yoku0825さんによるMySQL講座を開催しました! - Pepabo Tech Portal
                                                                            • 意外と知らないMySQLの落とし穴ーDELETEする際の注意点

                                                                              なぜDELETEしてもディスク容量は空かないのか一度取得した領域はDELETEしても再利用するために保持しておくためです。 どうしてもディスク容量を空ける必要がある場合は テーブルを最適化する際に使うOPTIMIZE TABLEを実行する 「OPTIMIZE TABLE テーブル名」で実行できますALTER TABLEでテーブルを作り変えるALTER TABLEはテーブルの作り替えです 実行中はテーブルロックがかかります 「ALTER TABLE テーブル名 ENGINE INNODB」で実行できますDELETEのみ実行した場合(PTIMIZE TABLE/ALTER TABLEしない場合)、ディスク容量面でのメリットはないのかDELETEした領域は、再度使われるタイミング(INSERTしたタイミング)で再利用されるため、ディスク容量の減りは緩やかになるメリットはあります。 DELETEす

                                                                                意外と知らないMySQLの落とし穴ーDELETEする際の注意点
                                                                              • 「TiDB」は待ち望んだDBか? LINEヤフーとメルカリの“MySQL”プロが赤裸々に語り合う

                                                                                データに関わるすべての技術者に「学び」「気づき」「変化」を提供する場として、インサイトテクノロジーが開催しているカンファレンスイベント「db tech showcase」。2023年は「未来を創るデータ技術を、日本に、世界に、実装せよ!」をテーマに掲げ、4年ぶりにオフラインで開催された。同イベント2日目の夕方に行われたセッションでは、オープンソースの分散型NewSQLデータベースとして注目を集める「TiDB」について、実際にPoCや運用を行ってきたMySQLのプロフェッショナルが検証結果や利用した印象について、パネルディスカッション形式で語った。 MySQL互換の「TiDB」は待ち望んでいたデータベースか? 「TiDBは使えるか討論 MySQLのプロがTiDBを斬る」と題して行われたセッションには、LINEヤフーとメルカリでMySQLを使いこなしているプロフェッショナルなエンジニア2名が登

                                                                                  「TiDB」は待ち望んだDBか? LINEヤフーとメルカリの“MySQL”プロが赤裸々に語り合う
                                                                                • MySQL Shellで診断データを収集する

                                                                                  はじめに MySQL Shell 8.0.29からutil.debug.collectDiagnostics() を使用して、MySQL Serverから診断データを収集できるようになりました。 本記事ではこちらの機能紹介を行います。なお、本記事で使用しているMySQL Server及び、MySQL Shellのバージョンは8.0.30となります。 機能紹介 要件 util.debug.collectDiagnostics() を使用する際の要件と制限は以下となります。 MySQL5.7以降であること rootで実行すること 使用方法 オプションを使用せずに実行する場合は、以下のようにzipファイル名のみを指定します。 例: util.debug.collectDiagnostics("test") なお、ファイル名ではなくディレクトリを指定した場合は、指定したディレクトリにmysql-d

                                                                                    MySQL Shellで診断データを収集する