前回に引き続き、MySQLの話です。 今回は、リージョン間でMySQLのレプリケーションを行います。 まずマスター用(Asia Pacific Tokyo)とスレーブ用(EU-West Ireland)、それぞれ1インスタンスずつ用意します。 ここでは、例として、 マスターのIP:mmm.mmm.mmm.mmm スレーブのIP:sss.sss.sss.sss データベース:clouadpack レプリケーション用のユーザー:repl_user レプリケーション用のパスワード:repl_pass とします。 ここでは各IPはElasticIPでパブリックなIPを適用しておきます。 まず、マスター、スレーブ、それぞれでデータベースを作成します。 $ mysql -u root mysql> create database cloudpack; Query OK, 1 row affected
MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション
要件 MySQL でグローバル IP をまたぐレプリケーションをやってみたい その場合、通信は SSL で暗号化したい 手始めに同一ホスト内から SSL を使って接続を試してみる 環境 Amazon Linux 手順 MySQL のインストール yum install -y mysql-serverChef のレシピ的には以下で... package "mysql-server" do action :install end service "mysql_service" do case node["platform"] when "CentOS","RedHat","Fedora","amazon" service_name "mysqld" else service_name "mysql" end supports :status => true, :restart => true,
mysqlの準同期レプリケーションを使ってみる
シーケンスの値の移行について † Oracleのインポート/エクスポートツールを使ってデータベースのバックアップ/リストアを行なってもシーケンスの値は移行することはできない。 ←と、いうのはウソです。サーバー間でシーケンスの値を移行することは可能です。 そのため、移行元のサーバでシーケンスの値を控え、移行先のサーバ上でDrop/Createする必要があり、すごく面倒くさい。また、手作業をミスった場合、リカバリが大変。 そこで、移行元のシーケンスの状態を取得し、それを移行先でDrop&Createするスクリプトとして出力するスクリプトを作ってみた。 以下の手順でシーケンスの値は移行することができる。 移行元からエクスポートツール(exp)を使用しUSERモードでダンプを取得*1 移行先のDBからあらかじめシーケンスオブジェクトをDropしておく 1.で取得したダンプを移行先にインポート(im
●表の一覧 SQL# select * from tab; ●表の項目一覧 SQL# desc 表名;(;は省略可) ●インデックスの一覧 SQL# select * from user_ind_columns; ※指定した表のインデックスのみ、表示することもできます。 SQL# select column_name from user_ind_columns where table_name = '表名'; ●ユーザ一覧 SQL# select username from user_users; ●データベースの文字コード SQL# select * from NLS_DATABASE_PARAMETERS where PARAMETER = 'NLS_NCHAR_CHARACTERSET'; 表のコピー方法 create tableコマンドで表のコピーができます。 ただし、制約条件は、
このサイトページは次の URL に移転しました。 0秒後に新 URL に転送します 自動で移動しない場合は恐れ入りますが下記をクリックしてください。 RwJ
このところ楽天をはじめとして,MySQLを活用した大規模な事例が増えている(関連記事)。このような大規模,かつサービス停止の許されないシステムを支えているのが,MySQLのレプリケーション機能である。 「レプリケーション」とは,対象物とまったく同じ物を製作する処理だ。同じような意味に「ミラー」があるが,意味するところは物理的なコピーである。「レプリケーション」は,論理的な複製であり,対象物の全体や一部といった範囲を限定できる点が異なる。 このような機能は,大がかりな準備と高度な技術が必要と考えている方も多いだろう。しかし,MySQLのレプリケーション機能は,非常に簡単に利用することができる。今回は,現行バージョンでも利用可能なレプリケーション機能を解説する。 Masterの更新がSlaveに反映される MySQLのレプリケーション機能は,MasterとSlaveに役割が分かれる(図1[拡大
MySQLを含め、PostgreSQL、Oracleで使えるDB負荷テストツール、Super Smackをインストールしてみる。 配布サイト→http://vegan.net/tony/supersmack/さんのところの Solaris10 x86 バイナリがバージョンが古いので1.3をsourceからコンパイル。 MySQL 32bit版のパッケージなどを/usr/local/mysqlに展開 正確に測定するためSuperSmackとMySQLは違うホストに入れます。 ただ、Super-SmackにはMySQLクライアントライブラリが必要なので、手っ取り早くTAR PACKAGE版でも展開しましょう。 今回は、以下の構成を用意。 Super Smackホスト 192.168.1.101 ※MySQL 5.1.23 32bit版 MySQLサーバホスト 192.168.1.102 ※My
レプリケーションとは 通常、データベースを別のサーバに複製することを、「レプリケーション」という。 レプリケーションのメリットは、次のとおり。 データベースのバックアップ データベースの冗長化 サーバの負荷分散 MySQLは標準でレプリケーション機能を備えているが、 その方式は「マスタ-スレーブ方式」で、 データベースの更新を受け付ける「マスタ」と、 マスタから伝搬されたデータを受け付ける「スレーブ」からなる、 一方通行の複製になる。 細かいことは、参照先のページを見ること。 ▲ ▼ 今回の目的 まったく同一構成の2台のマシンがあるので、 1台をマスタ、もう1台をスレーブにして、 データベースのバックアップと冗長化をはかる。 ▲ ▼ レプリケーション用のユーザの作成 スレーブがマスタに接続するための専用ユーザを、マスタで作成する。 与える権限は「REPLICATION」「SLAVE」
vol2でも引き続き、負荷分散・高可用性を備えるDBとWEBアプリケーションフレームワーク(以下AF)のセットアップを目指します。 デュアルマスタ構成に複数台のスレーブがぶら下がっています。 もう少し、詳しく今考えているアーキテクトを見ていきたいと思います。 最小構成: マスタ2台, スレーブ1台 最低3台のDBを用意します。 なぜ3台か?スレーブを追加する際には、マスタのスナップショット取得のためにマスタへの更新を停止する必要があります。データ量が増えると、マスタを停止してスナップショットを取得するには、長時間を要するため、これは現実的な解ではない。 そこで、スレーブをマスタのスナップショットとして考え、スレーブへのレプリケーションを一時停止し、スレーブのスナップショットを新規に用意したスレーブにコピーしレプリケーションを設定する。 スレーブが1台しか存在しない場合でのスレーブ停止時は、
server-id=7 master-host = 192.168.11.2 master-user= satou master-password = pass replicate-do-db = databank レプリケーションの対象となるデータベースは,「databank」,1つのテーブル「accesslog」が格納されている。マスタ側で,随時データを追加し,レプリケーションの機能を使用してスレーブに複製を作成する。現時点で,リスト1のようにマスターおよびスレーブにデータが格納されている。 リスト1●テーブル「accesslog」の内容(マスター側) mysql> select * from accesslog; +-----+-----+----------+------------+--------------+ | No | ID | Name | Time | Nemo |
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く