ホームページ データベース mysql チュートリアル Mysql主从复制技术(亲测)_MySQL

Mysql主从复制技术(亲测)_MySQL

Jun 01, 2016 pm 01:37 PM
master パスワード テクノロジー ユーザー名

bitsCN.com

Mysql主从复制技术(亲测)

 

开始配置:  

    第一步:创建复制帐号 

        每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予
REPLICATIONSLAVE权限。 

     用户名的密码都会存储在文本文件master.info中。假如,你想创建repl用户,如下 

    mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'192.
168.1.%' IDENTIFIED BY '123456'; 

    第二步:配置My.cnf 

    配置Master的My.cnf,该文件默认位置为/etc/my.cnf 

 

        接下来对master进行配置,包括打开二进制日志,指定唯一的servr ID。例如,在配置文件
加入如下值: 

        [mysqld] 

        server-id=1 

        log-bin=mysql-bin 

 

        重启mysql,service mysql restart , 

        登录mysql -uroot -p 

        运行SHOW MASTER STATUS,输出如下: 

+------------------+----------+--------------+------------------+ 

        | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | 

        +------------------+----------+--------------+------------------+ 

        | mysql-bin.000002 |      106 |              |                  | 

        +------------------+----------+--------------+------------------+ 

        1 row in set (0.00 sec) 

 

    配置Slave的My.cnf,该文件默认位置为/etc/my.cnf 

        Slave的配置与master类似,你同样需要重启slave的MySQL。如下:  

        server-id = 2 

        log-bin = mysql-bin 

        relay_log = mysql-relay-bin  

        log_slave_updates = 1  

        read_only = 1  

        server-id是必须的,而且唯一。slave没有必要开启二进制日志,但是在一些情况下,必须
设置,例如,如果slave为其它slave的master,必须设置bin_log。在这里,我们开启了二进制
日志,而且显示的命名(默认名称为hostname,但是,如果hostname改变则会出现问题)。  

relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自己的二进制日志(后面会
看到它的用处)。 

有些人开启了slave的二进制日志,却没有设置log_slave_updates,然后查看slave的数据是否改
变,这是一种错误的配置。所以,尽量使用read_only,它防止改变数据(除了特殊的线程)。但是,
read_only并是很实用,特别是那些需要在slave上创建表的应用。 

        重启mysql,service mysql restart , 

        登录mysql -uroot -p 

 

    第三步:启动slave 

        接下来就是让slave连接master,并开始重做master二进制日志中的事件。你不应该用配置
文件进行该操作,而应该使用CHANGE MASTER TO语句,该语句可以完全取代对配置文件的修改,
而且它可以为slave指定不同的master,而不需要停止服务器。如下: 

        mysql>CHANGE MASTER TO MASTER_HOST='192.168.60.73',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER
_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=0; 

        MASTER_LOG_POS的值为0,因为它是日志的开始位置。然后,你可以用SHOW SLAVE STATUS
语句查看slave的设置是否正确: 

        mysql> SHOW SLAVE STATUS/G 

*************************** 1. row *************************** 

             Slave_IO_State: 

                Master_Host: server1 

                Master_User: repl 

                Master_Port: 3306 

              Connect_Retry: 60 

             Master_Log_File: mysql-bin.000001 

             Read_Master_Log_Pos: 4 

             Relay_Log_File: mysql-relay-bin.000001 

              Relay_Log_Pos: 4 

             Relay_Master_Log_File: mysql-bin.000001 

            Slave_IO_Running: No 

            Slave_SQL_Running: No 

                             ...omitted... 

        Seconds_Behind_Master: NULL 

        Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running表明slave还没有开始复制过程。
日志的位置为4而不是0,这是因为0只是日志文件的开始位置,并不是日志位置。实际上,MySQL知
道的第一个事件的位置是4。 

 

为了开始复制,你可以运行: 

mysql> START SLAVE; 

mysql> SHOW SLAVE STATUS/G 

运行SHOW SLAVE STATUS查看输出结果: 

*************************** 1. row *************************** 

        Slave_IO_State: Waiting for master to send event 

                Master_Host: server1 

                Master_User: repl 

                Master_Port: 3306 

               Connect_Retry: 60 

               Master_Log_File: mysql-bin.000001 

               Read_Master_Log_Pos: 164 

              Relay_Log_File: mysql-relay-bin.000001 

              Relay_Log_Pos: 164 

              Relay_Master_Log_File: mysql-bin.000001 

              Slave_IO_Running: Yes 

              Slave_SQL_Running: Yes 

                             ...omitted... 

      Seconds_Behind_Master: 0 

注意,slave的I/O和SQL线程都已经开始运行,而且Seconds_Behind_Master不再是NULL。日志
的位置增加了,意味着一些事件被获取并执行了。如果你在master上进行修改,你可以在slave上看
到各种日志文件的位置的变化,同样,你也可以看到数据库中数据的变化。 

 

你可查看master和slave上线程的状态。在master上,你可以看到slave的I/O线程创建的连接: 

 

mysql> show processlist /G 

*************************** 1. row *************************** 

     Id: 1 

   User: root 

   Host: localhost:2096 

     db: test 

Command: Query 

   Time: 0 

 State: NULL 

   Info: show processlist 

*************************** 2. row *************************** 

     Id: 2 

   User: repl 

   Host: localhost:2144 

     db: NULL 

Command: Binlog Dump 

   Time: 1838 

 State: Has sent all binlog to slave; waiting for binlog to be updated 

   Info: NULL 

2 rows in set (0.00 sec) 

基本到这里就完成,至于后期的加强操作,我会在另行添加。 

Mysql复制的时候可以做到限制复制(主) 

binlog-do-db=work      #只复制 

binlog_ignore_db=mysql    #不允许复制 

  

Replicate_Do_DB=mysql 

replicate-ignore-db=mysql 

另外还有几条常用的命令 

flush mater;  #清除垃圾 

flush slave;  #清除垃圾 

start slave;  #开始服务 

reset slave;  #重设服务 

stop slave;   #停止服务 

  

上面复制方式是假设在新设Master和slave的情况下,实际环境并不十分实用,例如,你在一
组运行了很久的Master中加入一个新的slave呢? 

这样我们就需要优先进行数据处理。 

1.现将Master的数据库锁定,以免数据复制的时候出现差异。 

FLUSH TABLES WITH READ LOCK; 

2. 在另一个连接用mysqldump创建一个你想进行复制的数据库的转储: 

shell> mysqldump --all-databases --lock-all-tables >dbdump.db 

3. 对表释放锁。  

mysql> UNLOCK TABLES; 

上面方法中,第2部需要将数据库复制到新slave中还原,这样,Master和新Slave的数据源就一致。 

其实第2部的方法有很多,也可以使用Mysql软件进行同步,例如:Navicat for Mysql  

方法不是唯一,只要结果一致即可。 

4.完成旧数据同步后,Master中输入

mysql> show master status; 

##得到: 

+------------------+----------+--------------+---------------------------+ 

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB          | 

+------------------+----------+--------------+---------------------------+ 

| mysql-bin.000024 |    38113 |              | mysql,test | 

 

1 row in set (0.00 sec) 

5.然后在根据上表中内容输入上文启动Slave步骤的内容。 

CHANGE MASTER TO MASTER_HOST='192.168.60.73',MASTER_USER='repl',MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=0; 

6.启动slave 

START SLAVE; 

7.启动完成后进行检查。 

mysql> SHOW SLAVE STATUS/G                                                        ***************************
1. row *************************** 

               Slave_IO_State: Waiting for master to send event 

                  Master_Host: 192.168.1.171 

                  Master_User: repl 

                  Master_Port: 3306 

                Connect_Retry: 60 

              Master_Log_File: mysql-bin.000024 

              Read_Master_Log_Pos: 38255 

               Relay_Log_File: mysql-relay-bin.000002 

                Relay_Log_Pos: 393 

              Relay_Master_Log_File: mysql-bin.000024 

             Slave_IO_Running: Yes 

            Slave_SQL_Running: Yes 

              Replicate_Do_DB: 

          Replicate_Ignore_DB: mysql,wdcpdb,mysql,wdcpdb 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: 

        Replicate_Wild_Ignore_Table: 

                   Last_Errno: 0 

                   Last_Error: 

                 Skip_Counter: 0 

          Exec_Master_Log_Pos: 38255 

              Relay_Log_Space: 548 

              Until_Condition: None 

               Until_Log_File: 

                Until_Log_Pos: 0 

           Master_SSL_Allowed: No 

           Master_SSL_CA_File: 

           Master_SSL_CA_Path: 

             Master_SSL_Cert: 

            Master_SSL_Cipher: 

               Master_SSL_Key: 

        Seconds_Behind_Master: 0 

Master_SSL_Verify_Server_Cert: No 

          Last_IO_Errno: 0 

                Last_IO_Error: 

               Last_SQL_Errno: 0 

               Last_SQL_Error: 

1 row in set (0.00 sec) 

完成 

测试过程要主要的问题: 

 

1.请先配置好Mysql 

2.开通复制前请将Mysql的库和表的框架复制过去。

(在测试一下能不能连表都复制过去!) 

 

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

Windows 11 で続行するために管理者のユーザー名とパスワードの入力を求められる問題を解決するにはどうすればよいですか? Windows 11 で続行するために管理者のユーザー名とパスワードの入力を求められる問題を解決するにはどうすればよいですか? Apr 11, 2024 am 09:10 AM

Win11 を使用している場合、管理者のユーザー名とパスワードの入力を要求される場合があるため、この記事ではその対処方法について説明します。方法 1: 1. [Windows ロゴ] をクリックし、[Shift+Restart] を押してセーフ モードに入るか、[スタート] メニューをクリックして [設定] を選択するという方法でセーフ モードに入ります。 「更新とセキュリティ」を選択し、「回復」で「今すぐ再起動する」を選択し、再起動してオプションを入力した後、 - トラブルシューティング - 詳細オプション - 起動設定 -&mdash を選択します。

携帯電話を使用してルーターのWiFiパスワードを設定する方法(携帯電話をツールとして使用) 携帯電話を使用してルーターのWiFiパスワードを設定する方法(携帯電話をツールとして使用) Apr 24, 2024 pm 06:04 PM

ワイヤレス ネットワークは、今日のデジタル世界で人々の生活に不可欠な部分となっています。ただし、個人のワイヤレス ネットワークのセキュリティを保護することが特に重要です。強力なパスワードを設定することは、WiFi ネットワークが他人にハッキングされないようにするための鍵となります。ネットワークのセキュリティを確保するために、この記事では、携帯電話を使用してルーターの WiFi パスワードを変更する方法を詳しく紹介します。 1. ルーター管理ページを開く - モバイルブラウザでルーター管理ページを開き、ルーターのデフォルトの IP アドレスを入力します。 2. 管理者のユーザー名とパスワードを入力します - アクセスするには、ログイン ページに正しい管理者のユーザー名とパスワードを入力します。 3. ワイヤレス設定ページに移動します。ルーター管理ページでワイヤレス設定ページを見つけてクリックし、そのページに入ります。 4.現在のWiを見つける

自動運転と軌道予測についてはこの記事を読めば十分です! 自動運転と軌道予測についてはこの記事を読めば十分です! Feb 28, 2024 pm 07:20 PM

自動運転では軌道予測が重要な役割を果たしており、自動運転軌道予測とは、車両の走行過程におけるさまざまなデータを分析し、将来の車両の走行軌跡を予測することを指します。自動運転のコアモジュールとして、軌道予測の品質は下流の計画制御にとって非常に重要です。軌道予測タスクには豊富な技術スタックがあり、自動運転の動的/静的知覚、高精度地図、車線境界線、ニューラル ネットワーク アーキテクチャ (CNN&GNN&Transformer) スキルなどに精通している必要があります。始めるのは非常に困難です。多くのファンは、できるだけ早く軌道予測を始めて、落とし穴を避けたいと考えています。今日は、軌道予測に関するよくある問題と入門的な学習方法を取り上げます。関連知識の紹介 1. プレビュー用紙は整っていますか? A: まずアンケートを見てください。

携帯電話のWi-Fiパスワード変更チュートリアル(簡単操作) 携帯電話のWi-Fiパスワード変更チュートリアル(簡単操作) Apr 26, 2024 pm 06:25 PM

インターネットの急速な発展に伴い、ワイヤレス ネットワークは私たちの生活に欠かせないものになりました。ただし、個人情報とネットワークのセキュリティを保護するために、Wi-Fi パスワードを定期的に変更することが非常に重要です。ホーム ネットワークのセキュリティをより適切に保護するために、この記事では、携帯電話を使用して WiFi パスワードを変更する方法に関する詳細なチュートリアルを紹介します。 1. WiFi パスワードの重要性を理解する WiFi パスワードは、インターネット時代において、個人情報とネットワーク セキュリティを保護するための第一の防御線です。その重要性を理解することで、パスワードを定期的に変更する必要がある理由をよりよく理解できます。 2. 電話機が Wi-Fi に接続されていることを確認します。まず、Wi-Fi パスワードを変更する前に、パスワードを変更する Wi-Fi ネットワークに電話機が接続されていることを確認します。 3. 電話機の設定メニューを開き、電話機の設定メニューに入ります。

Stable Diffusion 3 の論文がついに公開され、アーキテクチャの詳細が明らかになりましたが、Sora の再現に役立つでしょうか? Stable Diffusion 3 の論文がついに公開され、アーキテクチャの詳細が明らかになりましたが、Sora の再現に役立つでしょうか? Mar 06, 2024 pm 05:34 PM

StableDiffusion3 の論文がついに登場しました!このモデルは2週間前にリリースされ、Soraと同じDiT(DiffusionTransformer)アーキテクチャを採用しており、リリースされると大きな話題を呼びました。前バージョンと比較して、StableDiffusion3で生成される画像の品質が大幅に向上し、マルチテーマプロンプトに対応したほか、テキスト書き込み効果も向上し、文字化けが発生しなくなりました。 StabilityAI は、StableDiffusion3 はパラメータ サイズが 800M から 8B までの一連のモデルであると指摘しました。このパラメーター範囲は、モデルを多くのポータブル デバイス上で直接実行できることを意味し、AI の使用を大幅に削減します。

パスワードが間違っています。BitLocker の警告に注意してください パスワードが間違っています。BitLocker の警告に注意してください Mar 26, 2024 am 09:41 AM

この記事では、間違ったパスワードの問題を解決する方法、特に BitLocker の警告に対処する際の注意の必要性について説明します。この警告は、ドライブのロックを解除するために BitLocker に間違ったパスワードを複数回入力するとトリガーされます。通常、この警告は、不正なログイン試行を制限するポリシーがシステムにあるために発生します (通常、ログイン試行は 3 回まで許可されます)。この場合、ユーザーは適切な警告メッセージを受け取ります。完全な警告メッセージは次のとおりです: 入力されたパスワードが間違っています。間違ったパスワードを入力し続けると、アカウントがロックされることに注意してください。これは、データのセキュリティを保護するためです。アカウントのロックを解除する必要がある場合は、BitLocker 回復キーを使用する必要があります。パスワードが間違っています。コンピュータにログインするときに表示される BitLocker 警告に注意してください

win10 コンピューターの電源投入時パスワードを忘れた場合にシステムに入る方法_win10 コンピューターの電源投入時パスワードを忘れた場合の対処方法 win10 コンピューターの電源投入時パスワードを忘れた場合にシステムに入る方法_win10 コンピューターの電源投入時パスワードを忘れた場合の対処方法 Mar 28, 2024 pm 02:35 PM

1. Xiaobai のワンクリック システム再インストール ツールを別のコンピュータにダウンロードしてインストールし、空の USB ディスクを挿入して USB ブート ディスクを作成します。具体的なチュートリアルについては、次を参照してください: 2. 変更する必要があるコンピュータに USB ブート ディスクを挿入します。再起動するパスワードを入力して、開始ホットキーを押します。通常、起動ホットキーは F12、F8、F9、F10、および ESC のいずれかです。次に、起動インターフェイスが表示され、USB ディスクのオプションを選択し、Enter キーを押してに入ります。 3. [1] を選択して win10x64PE を起動し、Enter キーを押して確認します。 4. デスクトップ上のパスワード変更ツールを選択し、ダブルクリックして開きます。 5. アカウント名のリストが表示されるので、パスワードを変更する必要があるアカウントを選択して開きます。 6. 以下の [パスワードの変更] コマンドをクリックし、新しいパスワードを 2 回入力し、[OK] をクリックして変更を保存します。 7. 最後に、USB フラッシュ ドライブを取り外し、コンピュータを再起動すると、正常に動作します。

すべての Wi-Fi パスワードのロックを解除できるソフトウェアの名前は何ですか(ワンクリックで接続された Wi-Fi パスワードを取得できる推奨モバイル ソフトウェア) すべての Wi-Fi パスワードのロックを解除できるソフトウェアの名前は何ですか(ワンクリックで接続された Wi-Fi パスワードを取得できる推奨モバイル ソフトウェア) Apr 02, 2024 pm 06:46 PM

ワイヤレス ネットワークは現代社会の人々の生活に不可欠な部分になっています。または、WiFi リストに保存されたパスワードを表示する必要がありますが、WiFi パスワードを忘れることもあります。この問題を解決するためにモバイル ソフトウェアが登場しました。この魔法のツールを簡単にマスターできるように、この記事ではすべての WiFi パスワードのロックをすばやく解除するのに役立つソフトウェアを紹介します。 1. 強力な WiFi パスワード ロック解除ツール - WiFi パスワード ロック解除の素晴らしい世界を探索します。 2. シンプルで使いやすいインターフェイス設計 - 便利で迅速な操作方法 3. 複数のデバイスをサポート - さまざまなデバイスのニーズを満たします 4. 自動的に更新します -常に最新の WiFi パスワードを維持します。 5. 高速 WiFi 接続 - 複数のデバイスの同時接続ニーズに簡単に対応します。

See all articles