ホームページ データベース mysql チュートリアル mysql linux下高可用架构的简析及主、从复制的实战(一)

mysql linux下高可用架构的简析及主、从复制的实战(一)

Jun 07, 2016 pm 05:22 PM
linux mysql マスター/スレーブ レプリケーション

mysql数据库的主、从复制是比较简单的,但是也是mysql数据库高可用性的一个基础,我的理解是所有mysql的高可用都是从这主、从简单复制演变而来。写这篇博客是因

    mysql数据库的主、从复制是比较简单的,但是也是mysql数据库高可用性的一个基础,我的理解是所有mysql的高可用都是从这主、从简单复制演变而来。写这篇博客是因为最近有位同事和我说他做mysql ha实验,使用的是keepalived+mysql主、从架构,使我疑惑了,与他一起再次复习mysql ha的高可用架构,知道这样的架构并不理想。

    我的理解是主、从复制存在时间差的,数据库一致性得不到保证,即使是使用shell 进行监控从数据库的复制性那也是需要时间的,一个简单的例子当master down时从还没复制完全或没有复制,在实际的生产环境中就存在大问题了。而主、主复制的架构,就很好的解决了数据库一致性问题,是可以使用keepalived来实现。

    主、从复制的架构毕竟还是为了数据库的备份,虽然是热备的一种但是不能让他去做高冗余吧,其实这种架构我还是很欣赏的,还有一个好处可以读、写分离来提高数据库的I/O性能,我虽然建立的电子商务平台不多,但基本上上线的还是这个架构为主。这种架构在master出现故障后,还是要靠手工去切换,不存在裂脑问题,同时毕竟牵扯到数据库,稳妥点比较好,电子商务中数据库的事都是大事。

    另一种架构我是非常欣赏并使用过主、主的自动切换架构,即解决了单点故障问题,还可以自动切换(一定要设置切换时报警,还是要上线看的),同时还互为备份。在参看了煮酒抚琴兄的一篇mysql数据库优化(下)后,给我的启发是如果数据库的投入充裕的话,还可以主主、从的架构,虽然没有直接应用过,但从理论上应该是中底端mysql数据库应用最稳定的吧,有机会的话应用下,这架构下再加上负载均衡应该问题不大。有时间的话,一定要做这个测试来看看效果。

    mysql+lvs+cluster+keepalived的负载均衡、HA架构也应用过,但效果不是很理想,并且那个成本实在有点高,后期维护也是个问题,后面会把这个架构我实施的步骤和配置列出来,给感兴趣的朋友一起研究。

    我认为无论是那种高可用的mysql架构,至少做到本地和异地双备份。

    主、从复制就简单多了,大家都知道主、从复制的原理就是以下三步:

-bin = mysql-bin   

    binlog-do-db=falvhezi2 (需要同步的库)
    binlog-ignore-db=mysql (不需要同步的)

    binlog-ignore-db=test (不需要同步的)

    成功了。

    有两点问题要注意: 
    Slave_IO_Running: NO 
    如果此项为NO多为连接性问题 
    1、 两个服务器系统之间网络连接问题 
    2、 数据库用户权限问题 
    Slave_SQL_Running: NO   
    数据库二进制文件权限不对

 

 

 

 

 

本文出自 “踏酒浅酌” 博客,请务必保留此出处

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Navicatプレミアムの作成方法 Navicatプレミアムの作成方法 Apr 09, 2025 am 07:09 AM

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

NavicatでMySQLへの新しい接続を作成する方法 NavicatでMySQLへの新しい接続を作成する方法 Apr 09, 2025 am 07:21 AM

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

NavicatのローカルMySQLに接続する方法 NavicatのローカルMySQLに接続する方法 Apr 09, 2025 am 07:45 AM

NAVICATを使用してローカルMYSQLデータベースに接続するには:接続を作成し、接続名、ホスト、ポート、ユーザー名、およびパスワードを設定します。接続をテストして、パラメーターが正しいことを確認します。接続を保存します。接続リストから新しい接続を選択します。接続するデータベースをダブルクリックします。

さまざまなデータベースシステムに列を追加するための構文の違いは何ですか さまざまなデータベースシステムに列を追加するための構文の違いは何ですか Apr 09, 2025 pm 02:15 PM

and:mysql:Alter table_name add column_name data_type; postgresql:column column_name data_typeを変更するcolumn column_name datape; oracle:alter table_name add(column_name data_type);

データベースに接続する方法 データベースに接続する方法 Apr 09, 2025 am 06:45 AM

NAVICATを使用してデータベースに接続するには、次の手順を順番に実行します。NAVICATで接続を作成します。ホスト名、ポート、ユーザー名、パスワード、およびデータベース名を入力します。 Advanced Settings(オプション)を調整します。接続を保存します。接続をテストします。データベースに接続します。データベースオブジェクトを表示します。

Navicatでテーブルノートを表示する方法 Navicatでテーブルノートを表示する方法 Apr 09, 2025 am 06:00 AM

NAVICATでテーブルノートを表示する方法:データベースに接続し、ターゲットテーブルに移動します。 [メモ]タブに切り替えます。テーブルノートがあるかどうかを確認してください。

NAVICATでデータベースをインポートする方法 NAVICATでデータベースをインポートする方法 Apr 09, 2025 am 06:27 AM

NAVICATでデータベースをインポートする手順には、以下が含まれます。データベースサーバーに接続します。データベース名を右クリックして、[ウィザードのインポート]を選択します。データソースタイプを選択します。データソースの設定を指定します。データファイル形式を選択します。データファイルを参照して選択します。インポートオプション(テーブルマップ、文字セット、データ型)を構成します。インポートの進行状況を実行し、監視します。

Navicatのデータベースをコピーする方法 Navicatのデータベースをコピーする方法 Apr 09, 2025 am 06:54 AM

NAVICATは、データベースを複製する2つの方法を提供します。レプリカデータベースウィザードを使用します。ターゲットサーバーを選択し、データベース名を入力し、レプリケーションオプションを指定します。マニュアルコピー:データベースをエクスポートし、ターゲットサーバーにエクスポートされたファイルをインポートします。

See all articles