mysql 主从同步设置

Jun 07, 2016 pm 03:53 PM
mysql 同期する バージョン 設定

前提,两台安装了同样版本mysql的服务器(其实好像版本不一样也行,但是稳妥起见,还是用一样版本的mysql吧,毕竟俺是个小白)。 主服务器ip:192.168.2.19从服务器ip:192.168.2.155 停止前端nginx服务,既停止php向mysql发起请求 一.给主服务器上创建一个

前提,两台安装了同样版本mysql的服务器(其实好像版本不一样也行,但是稳妥起见,还是用一样版本的mysql吧,毕竟俺是个小白)。

主服务器ip:192.168.2.19            从服务器ip:192.168.2.155

停止前端nginx服务,既停止php向mysql发起请求

    一.给主服务器上创建一个用户用于给从服务器同步使用:


        grant all privileges on *.* to slaveuser@丛库IP identified by '密码';



    二.停止这两台服务器上的mysql服务:


        /usr/local/mysql/bin/mysqladmin shutdown --socket=/opt/db/mysql/mysql.sock -uroot -ppassword



    三.修改主服务器的配置文件

        server-id             = 1                                         #主机标示,整数
        log_bin               = /opt/db/mysql/data/mysql-bin.log          #确保此文件可写
        read-only             = 0                                         #主机,读写都可以
        binlog-do-db          = test                                      #需要备份数据,多个写多行
        binlog-do-db          = anotherdb                                 #需要备份数据,多个写多行



四.在从服务器上拉取主服务器中的要同步的库的表结构和数据(需要输入主服务器的root密码)

        scp -r -p root@192.168.2.19:/opt/db/mysql/data/fb_cn  /opt/db/mysql/data/

       并且改变/opt/db/mysql/data/中fb_cn的用户和用户组 



   五.启动主服务器mysql服务(根据自己具体情况启动)


        /usr/local/mysql/bin/mysqld_safe 

                --defaults-file=/opt/db/mysql/my.cnf                 #mysql配置文件位置

                --basedir=/usr/local/mysql                           #mysql安装目录

                --pid-file=/opt/db/mysql/mysql.pid                   #pid文件创建位置

                --datadir=/opt/db/mysql/data                         #数据文件位置

                --socket=/opt/db/mysql/mysql.sock                    #sock文件位置

                --log-error=/opt/db/mysql/err.log                    #错误日志文件位置

                --log-slow-queries=/opt/db/mysql/slowquery.log&      #慢查询日志文件位置




  六.查看主服务器mysql状态,记录file和position,很重要,在从库设置中将被用到,此时需保证主服务器mysql不会有写操作


        /usr/local/mysql/bin/mysql -uroot  --socket=/opt/db/mysql/mysql.sock -p  (进入mysql环境)

       >show master status;

        +——————+———-+————–+——————+

        |File|Position|Binlog_Do_DB|Binlog_Ignore_DB|

        +——————+———-+————–+——————+

        |mysql-bin.000001|106| myslave      | mysql            

        |+——————+———-+————–+——————+



 七.修改从服务器的配置文件


        server-id             = 2                                   #主机标示,整数

        log_bin               = /opt/db/mysql/data/mysql-bin.log    #binlog

        master-host           = 192.168.2.19                        #主服务器ip地址
        master-user           = slaveuser                           #主服务器用于主从设置的用户

        master-pass           = 密码                                #主服务器用于主从设置的用户密码

        master-port           = 3306                                #主服务器端口号
        master-connect-retry  = 60                         #从服务器发现主服务器断掉,重新连接时间(秒)
        replicate-do-db       = test                       #要进行主从同步的库名,用逗号隔开

replicate-do-db       = another                    #要进行主从同步的库名,用逗号隔开



    八.启动从服务器(根据自己具体情况启动)


/usr/local/mysql/bin/mysqld_safe 

                --defaults-file=/opt/db/mysql/my.cnf                 #mysql配置文件位置

                --basedir=/usr/local/mysql                           #mysql安装目录

                --pid-file=/opt/db/mysql/mysql.pid                   #pid文件创建位置

                --datadir=/opt/db/mysql/data                         #数据文件位置

                --socket=/opt/db/mysql/mysql.sock                    #sock文件位置

                --log-error=/opt/db/mysql/err.log                    #错误日志文件位置

                --log-slow-queries=/opt/db/mysql/slowquery.log&      #慢查询日志文件位置


   九.进入从服务器mysql环境中,配置Slave信息


/usr/local/mysql/bin/mysql -uroot  --socket=/opt/db/mysql/mysql.sock -p

         >CHANGE MASTER TO 

         >MASTER_HOST='192.168.2.19',                     #主服务器ip

         >MASTER_PORT=3306,                               #主服务器mysql服务端口

         >MASTER_USER='slaveuser',                        #主服务器中用于主从连接的用户名

         >MASTER_PASSWORD='密码',                         #主服务器中用于主从连接的用户密码

         >MASTER_LOG_FILE='mysql-bin.000001',             #从主服务器的master状态中读取的file

         >MASTER_LOG_POS=106;                             #从主服务器的master状态中读取的position




    十.启动Slave服务 

        >start slave;




   十一.查看从服务器状态

        >show slave status\G;

   如果发现

        Waitingfor master to send event

        Slave_IO_Running:Yes

        Slave_SQL_Running:Yes


   总体来说,这个配置还是很成功的,但是由于操作问题,在配置过程中,大脑缺弦了,直接把replicate-do-db = another这个考到了从服务器的mysql配置文件里,典型脑残啊,特此纪念一把,多花了一个小时的时间。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

MySQLの場所:データベースとプログラミング MySQLの場所:データベースとプログラミング Apr 13, 2025 am 12:18 AM

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

phpmyAdminの包括的な使用ガイド phpmyAdminの包括的な使用ガイド Apr 10, 2025 pm 10:42 PM

PHPMyAdminは単なるデータベース管理ツールではなく、MySQLを深く理解し、プログラミングスキルを向上させることができます。コア関数には、CRUDおよびSQLクエリの実行が含まれ、SQLステートメントの原則を理解することが重要です。高度なヒントには、データのエクスポート/インポートと許可管理が含まれ、深いセキュリティの理解が必要です。潜在的な問題にはSQLインジェクションが含まれ、ソリューションはパラメーター化されたクエリとバックアップです。パフォーマンスの最適化には、SQLステートメントの最適化とインデックスの使用が含まれます。ベストプラクティスは、コード仕様、セキュリティプラクティス、および定期的なバックアップを強調しています。

See all articles