タグ

mysqlに関するyutatoneのブックマーク (11)

  • MySQLにおけるレプリケーション遅延の傾向と対策

    レプリケーションはMySQLで最もよく使われる機能のひとつだ。レプリケーションは基的に非同期でデータの複製を行う仕組みになっているのだが、非同期故にどうしても逃れられない問題がある。そのひとつが今回のテーマ、遅延である。というと、MySQLのレプリケーションはすぐに遅延が生じてしまうように感じてしまうかも知れないが、そのようなことはない。ほとんどの場合は即座にスレーブの更新が行われる。 なぜ遅延は発生するのか、どのように遅延が起きていることを調べるのか、どのように回避するのかということをエントリでは解説したい。うまく遅延と付き合って、MySQLのレプリケーションをより快適に運用してもらえればと思う。 そもそも遅延とは何かMySQLのレプリケーションは非同期で行われる。これは準同期でも同じであり、スレーブにおいて更新が起きるのはマスターよりも一瞬遅れてしまう。これは非同期であるが故に逃れ

    MySQLにおけるレプリケーション遅延の傾向と対策
  • 漢(オトコ)のコンピュータ道

    ※この記事はMySQL Advent Calendar 2023の4日目です。 MySQL 8.0シリーズでは正式版になってから多数の新機能が追加されるというリリースモデルであった。正式版になってから追加された新機能の中に、GIPK(Generated Invisible Primary Key)というものがある。これはなんとMySQL 8.0.30で追加された機能だ。MySQL 8.0が正式版になってから、なんと4年と3ヶ月後のことである。そんな感じでMySQL 8.0の新機能は正式リリース後にも増え続け、途方もない規模になっている。このブログでは一度に紹介するのは諦め、少しずつ気の向いたものから紹介していこうと思う。今回はその第一弾として、GIPKについて解説しよう。

    漢(オトコ)のコンピュータ道
  • Google MapsとMySQLの連携

    こんにちは、アシアルの中川です。 Google Mapsに表示する情報をMySQLのgeometry型で扱う方法を試してみました。 Google Mapsのある地点にマーカーを表示したりすることがある場合、 緯度・経度の情報で地点に表示させることができますが、 データベースにこの情報を保存する場合、lat(float), lng(float)とそれぞれカラムに保存する方法もあるのですが、この方法では各データの位置の関係が非常に扱いにくくなります。 Google Mapsで表示されている範囲内のデータのみ取得したい場合や、 ある地点から近い順に取得する場合などに面倒なことになります。 そこで、MySQL4.1以降で用意されている空間情報を扱う機能の「geometry」型を使用します。 「MySQL 4.1 リファレンスマニュアル :: 10 MySQL における空間情報の機能(日語)」 「

    Google MapsとMySQLの連携
  • MySQL バイナリログの削除 - とみぞーノート

    1. 概要 MySQLでレプリケーションを行っているとMasterにバイナリログが溜っていきディスクを圧迫するので定期的に削除してやる必要がある。 2. 手順 2.1 レプリケーション状態の確認 まず、どこまでバイナリログを削除してよいかを調べる。 Slave側でSHOW SLAVE STATUSを実行し、Slaveがバイナリログをどこまで読み取っているかを調べる。「Master_Log_File」が現在参照中のバイナリログ。以下の例ではskylancer00-bin.000084を使用していることになるので、skylancer00-bin.000083まで削除してしまってよいことになる。Slaveが複数いる場合は、全Slaveについて確認を行う。 mysql> SHOW SLAVE STATUS \G *************************** 1. row ********

  • 稼働中のMySQLに無停止でスレーブを追加する - 雑記帳(2011-10-17)

    ■ [MySQL] 稼働中のMySQLに無停止でスレーブを追加する MySQLは簡単にレプリケーションすることができて便利。最初からレプリケーションを前提に構築するのは簡単にできる。しかし、実は運用が始まってしまって、なかなか停止できないMySQLにも、ほぼ無停止でスレーブサーバを追加できる。現在の設定状況にもよるが、再起動は必要になるかも。 マスターでバイナリログを出力するようにする my.cnfで、binlog_do_dbの設定をする。レプリケーション対象となるデータベースを指定する。 [mysqld] binlog_do_db=your_db マスタのserver_idを設定する my.cnf で server_idの設定をする。レプリケーションする際に、個々のサーバを識別するのに使われる。任意のユニークな整数を指定すれば良い。 [mysqld] server_id=10 ここまでの

    yutatone
    yutatone 2012/04/05
    コレは素晴らしい
  • GitHub - livedoor/cicindela2: a highly customizable recommendation engine written in perl + MySQL

    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 - livedoor/cicindela2: a highly customizable recommendation engine written in perl + MySQL
    yutatone
    yutatone 2012/01/16
    ちょっと検討
  • ファイル読込|データのインポート・エクスポート|MySQL|PHP & JavaScript Room

    ファイル内容:insert.sqlINSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U001','花子','鈴木','f',21); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U002','太郎','田中','m',30); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U003','一郎','鈴木','m',45); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U004','萌子','山口','f',18); INS

    ファイル読込|データのインポート・エクスポート|MySQL|PHP & JavaScript Room
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 11.7 データ型のストレージ要件

    ディスク上のテーブルデータのストレージ要件は、複数の要因によって異なります。 別々のストレージエンジンは異なる方法でデータ型を表し、ローデータを格納します。 カラムか行全体のどちらかでテーブルデータを圧縮できますが、テーブルまたはカラムのストレージ要件の計算が複雑になります。 ディスク上のストレージレイアウトが違っていても、テーブル行に関する情報を通信および交換する内部 MySQL API は、すべてのストレージエンジンにわたって適用される一貫したデータ構造を使用します。 このセクションでは、データ型の固定サイズ表現を使用するストレージエンジンの内部形式およびサイズを含め、MySQL がサポートするデータ型ごとのストレージ要件に関するガイドラインおよび情報について説明します。 情報はカテゴリまたはストレージエンジンごとに示します。 テーブルの内部表現の最大行サイズは 65,535 バイトで

    yutatone
    yutatone 2011/10/09
    φ(..)メモメモ
  • dragffy.com » Blog Archive » Inserting large blobs in MySQL

  • 日付ごとの集計 - yokococonの日記

    [MySQL]datetime型のデータから日付別の集計を行う * 2006.04.01 Saturday * 日記 * 04:53 * comments(0) * trackbacks(0) * by kokoromo MySQLで日付時間データ入れておくデータ型、 datetime型はよく使いますよね。 データだけあって、日付別の集計が必要になってくることがありますよね。 普通に考えて集計やろうとするならgroup by使うんですが このdatetime型、group by datetimeとやった場合、 秒あたりの重複数を数えてくれて日にち別の集計は行ってくれません。 そこで、substring関数。 substring(datetime,1,10) as date とやると group by でも使えます。 mysql> select id,board,dat,w,s,dateti

    日付ごとの集計 - yokococonの日記
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • 1