激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Mysql 主從數據庫同步(centos篇)

Mysql 主從數據庫同步(centos篇)

2019-11-19 15:12MYSQL教程網 Mysql

Mysql 主從數據庫同步(centos篇),需要的朋友可以參考下。

環境:

主服務器:centos 5.2 mysql 5.1.35 源碼 IP:192.168.1.22

從服務器:centos 5.2 mysql 5.1.35 源碼  IP:192.168.1.33

配置:

一、主服務器

    1.1、創建一個復制用戶,具有replication slave 權限。

mysql>grant replication slave on *.* to 'repl'@'192.168.1.22' identified by 'repl';

    1.2、編輯my.cnf文件

vi /etc/my.cnf 
添加 
server-id=1 
并開啟log-bin二進制日志文件 
log-bin=mysql-bin

注:需要把默認的server-id=1去掉

    1.3、啟動mysql數據庫

mysqld_safe --user=mysql &

    1.4、設置讀鎖

mysql>flush tables with read lock;

    1.5、得到binlog日志文件名和偏移量

mysql>show master status;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.0000010 |      106|              |                  | 
+------------------+----------+--------------+------------------+

    1.6、備份要同步的數據庫

mysqldump test > test.sql

    1.7、解鎖

mysql>unlock tables;

 

二、從服務器

        2.1、編輯my.cnf文件

vi /etc/my.cnf 
添加 
server-id=2

注:需要把默認的server-id=1去掉

    2.2、啟動從數據庫

mysqld_safe --user=mysql &

        2.3、對從數據庫進行相應設置

mysql> change master to 
        -> master_host='192.168.1.22' 
        -> master_user='repl' 
        -> master_password='repl' 
        -> master_log_file='mysql-bin.0000010' 
        -> master_log_pos=106;

        2.4、啟動從服務器slave線程

mysql>start slave;

執行show processlist命令顯示以下進程:

mysql>show processlist\G 
*************************** 2. row *************************** 
         Id: 2 
     User: system user 
     Host:    
         db: NULL 
Command: Connect 
     Time: 2579 
    State: Has read all relay log; waiting for the slave I/O thread to update it 
     Info: NULL

表示slave已經連接上master,開始接受并執行日志

         2.5、查看slave線程狀態

mysql>show slave status;

*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.22

                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.0000010
          Read_Master_Log_Pos: 106
               Relay_Log_File: centos-relay-bin.000002
                Relay_Log_Pos: 529
        Relay_Master_Log_File: mysql-bin.0000010
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 

          Replicate_Ignore_DB: 
           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: 106
              Relay_Log_Space: 830
              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)

 

驗證是否配置正確

在從服務器上執行

show slave status\G; 
Waiting for master to send event 
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes

如以上二行同時為Yes 說明配置成功


 

測試

1、在主服務器test數據庫中創建user表

mysql>use test; 
mysql>create table user(id int);

2、在從服務器中查看user表

mysql>use test; 
mysql> show tables like 'user'; 
+----------------------+ 
| Tables_in_test(user) | 
+----------------------+ 
| user                 |    
+----------------------+ 
1 row in set (0.00 sec)

說明主從數據同步成功。

 

問題?

1.在從數據庫中查看slave狀態時出現

The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it)

說明方從服務器里my.cnf中的server-id有相同的。

解決辦法:

修改my.cnf里的server-id,并重啟數據庫服務。my.cnf文件默認有server-id=1

 

其它說明

主服務器my.cnf

#binlog-do-db=需要備份的數據庫名,可寫多行
#binlog-ignore-db=不需要備份的數據庫名,可寫多行
從服務器my.cnf

# replicate-do-db=test  需要備份的數據庫名
# replicate-ignore-db=mysql 忽略的數據庫
# master-connect-retry=60 如果從服務器發現主服務器斷掉,重新連接的時間差(秒)

以下設置也可直接修改my.cnf配置文件

log-bin=mysql-bin
master-host=192.168.1.22

master-user=repl

master-password=repl
master-port=3306

 

主從服務器同步維護

由于各種原因,導致主從數據不一致,在負載低的時候,進行手動同步.

在主服務器上執行

 

mysql>flush tables with read lock;

Query OK,rows affected (0.01 sec)

mysql>show master status;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.0000011 |      260|              |                  | 
+------------------+----------+--------------+------------------+

在從服務器上執行

先得到當前主服務器的二進制文件名和偏移量,執行命令使從服務器與主服務器同步

mysql>select master_pos_wait('mysql-bin.0000011','260'); 
+--------------------------------------------------+ 
| master_pos_wait('mysql-bin.0000011','260')            | 
+--------------------------------------------------+ 
|  0                                                                   |   
+--------------------------------------------------+ 
1 row in set (0.01 sec)

同步完成后,在主服務器上執行解鎖

mysql>unlock tables;

 

切換主從服務器

 

當主服務器出現故障時,可將從服務器當主服務器來使用.步驟如下:

1、保證所有從數據庫都已經執行了relay log中的全部更新,在從服務器中執行

stop slave io_thread,用show processlist檢查,查看狀態是否是Has read all relay log,表示更新完成.

mysql>stop slave io_thread; 
Query OK,0 affected (0.00 sec) 
mysql>show processlist\G;

*************************** 2. row ***************************
     Id: 2
   User: system user
   Host: 
     db: NULL
Command: Connect
   Time: 4757
  State: Has read all relay log; waiting for the slave I/O thread to update it
   Info: NULL

2、在從服務器上執行stop slave,reset master命令,重置成主數據庫

mysql>stop slave; 
Query OK,0 affected (0.00 sec) 
mysql>reset master; 
Query OK,0 affected (0.00 sec)

3、刪除新的主服務器數據庫目錄中的master.info和relay-log.info文件,否則下次重啟時還會按照從服務器來啟動.

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 久久久久久久久久久久久久av | 久久久久久久久久久久久国产精品 | 有色视频在线观看 | 亚洲电影在线观看高清免费 | 国产成人高清成人av片在线看 | 永久免费黄色片 | 性欧美性欧美 | av电影直播| 激情小说色 | 久草久视频 | 毛片在线视频观看 | 97超碰资源站 | 四季久久免费一区二区三区四区 | 久久精品久久精品久久精品 | 91性视频| 婷婷久久青草热一区二区 | 成人亚洲 | 91久久国产露脸精品免费 | 天堂福利电影 | 最新日韩在线观看视频 | 欧美14一15sex性hd | av在线久草 | 亚洲国产网址 | 欧美日韩a∨毛片一区 | 爱爱视频天天干 | 成人三级电影网站 | 一区二区三区视频在线观看 | 丰满年轻岳中文字幕一区二区 | 中国美女一级黄色大片 | 成年人黄色片视频 | 免费一级毛片在线播放不收费 | 一级黄色av电影 | 永久免费不卡在线观看黄网站 | 欧美一级性 | 久久综合一区二区 | 国产99久久久久久免费看 | 久久久青青草 | 欧美日韩国产成人在线观看 | 99在线热视频 | 热re91久久精品国产99热 | 久久精品亚洲成在人线av网址 |