成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不同服務器上mysql如何實現同步備份(三)

數據庫 MySQL
在RedHat Linux 9上,如何實現mysql數據庫的同步備份呢?其實通過修改主從服務器上的my.cnf文件以及一些相關的操作即可完成同步備份。本文介紹了這一過程,供讀者學習參考。

上次我們已經介紹了兩種不同服務器上的mysql實現同步備份的方法,今天我們介紹最后一種方法,在RedHat Linux 9操作系統上的同步備份過程。

一、準備服務器

由于MySQL不同版本之間的(二進制日志)binlog格式可能會不一樣,因此最好的搭配組合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。

more.. | less.. | 本文中,我們假設主服務器(以下簡稱Master)和從服務器(以下簡稱Slave)的版本都是5.0.27,操作系統是RedHat Linux 9。

假設同步Master的主機名為:master(IP:192.168.1.123),Slave主機名為:slave(IP:192.168.1.124),2個MySQL的basedir目錄都是/usr/local/mysql,datadir都是: /var/lib/mysql。

二、設置同步服務器

1、設置同步Master

修改 my.cnf 文件,在

  1. # Replication Master Server (default)  
  2.  
  3. # binary logging is required for replication 

添加如下內容:

  1. #log-bin=/var/log/mysql/updatelog  
  2.  
  3. server-id = 1 
  4.  
  5. binlog-do-db=discuz 
  6.  
  7. binlog-ignore-db=mysql 

重啟MySQL,創建一個MySQL帳號為同步專用

  1. # /usr/local/mysql/bin/mysql -u root -p  
  2.  
  3. mysql> GRANT REPLICATION SLAVE ON *.* TO [email=]'back'@'%'[/email] IDENTIFIED BY 'back'; 

如果想要在Slave上有權限執行 "LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER" 語句的話,必須授予全局的 FILE 和SELECT 權限:

  1. mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO  [email=]'back'@'%'[/email] IDENTIFIED BY 'back';  
  2.  
  3. mysql> FLUSH PRIVILEGES ; 

2、設置同步Slave

修改my.cnf文件,添加

  1. server-id = 2 
  2.  
  3. master-host = 192.168.1.123  
  4.  
  5. master-user = back 
  6.  
  7. master-password = back 
  8.  
  9. master-port = 3306 
  10.  
  11. replicate-ignore-db=mysql 
  12.  
  13. replicate-do-db=discuz 

重啟MySQL。

#p#

3、啟動同步

在主服務器master MySQL命令符下:

  1. # /usr/local/mysql/bin/mysql -u root -p  
  2.  
  3. mysql> show master status; 

顯示(當然這個是我機器的情況,你的不可能跟我一樣哈,只是個例子):

  1. +------------------+----------+-------------------+------------------+  
  2.  
  3. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  4.  
  5. +------------------+----------+-------------------+------------------+  
  6.  
  7. | mysql-bin.000009 | 98 | discuz | mysql |  
  8.  
  9. +------------------+----------+-------------------+------------------+ 

在從服務器master MySQL命令符下:

  1. # /usr/local/mysql/bin/mysql -u root -p  
  2.  
  3. mysql> slave stop;  
  4.  
  5. mysql> change master to master_host='192.168.1.123'master_user='back'master_password='back',   
  6.  
  7. master_log_file='mysql-bin.000009'master_log_pos=98;  
  8.  
  9. mysql> slave start; 

用show slave statusG 看一下從服務器的同步情況:

  1. Slave_IO_Running: Yes  
  2.  
  3. Slave_SQL_Running: Yes 

如果都是yes,那代表已經在同步。

往表里面寫點數據測試一下看是否同步成功,如果不成功,絕對不是你的RP問題,再檢查一下操作步驟!

4、設置雙向同步

修改slave服務器的my.cnf,添加:

  1. log-bin=/var/log/mysql/updatelog  
  2.  
  3. binlog-do-db=discuz 
  4.  
  5. binlog-ignore-db=mysql 

重啟MySQL,創建一個MySQL帳號為同步專用:

  1. mysql> GRANT REPLICATION SLAVE ON *.* TO [email=]'back'@'%'[/email] IDENTIFIED BY 'back';  
  2.  
  3. mysql> GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO  [email=]'back'@'%'[/email] IDENTIFIED BY 'back';  
  4.  
  5. mysql> FLUSH PRIVILEGES ; 

修改master服務器的my.cnf,添加:

  1. master-host = www.3ppt.com  
  2.  
  3. master-user = back 
  4.  
  5. master-password = back 
  6.  
  7. master-port = 3306 
  8.  
  9. replicate-ignore-db=mysql 
  10.  
  11. replicate-do-db=discuz 

重啟MySQL。

在主服務器slave MySQL命令符下:

  1. show master status;  
  2.  
  3. +------------------+----------+-------------------+------------------+  
  4.  
  5. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  6.  
  7. +------------------+----------+-------------------+------------------+  
  8.  
  9. | mysql-bin.000013 | 98 | discuz | mysql |  
  10.  
  11. +------------------+----------+-------------------+------------------+ 

在服務器A MySQL命令符下:

  1. mysql> slave stop;  
  2.  
  3. mysql> change master to master_host='192.168.1.124'master_user='back'master_password='back',   
  4.  
  5. master_log_file='mysql-bin.000013'master_log_pos=98;  
  6.  
  7. mysql> slave start; 

其實也就是A->B單向同步的反向操作!雙向同步,就這么簡單啦!

提示:如果修改了主服務器的配置,記得刪除從服務器上的master.info文件。否則從服務器使用的還是老配置,可能會導致錯誤。

注意:關于要復制多個數據庫時,binlog-do-db和replicate-do-db選項的設置,網上很多人說是用半角逗號分隔,經過測試,這樣的說法是錯誤的,MySQL官方文檔也明確指出,如果要備份多個數據庫,只要重復設置相應選項就可以了。

比如:binlog-do-db=a   binlog-do-db=b   replicate-do-db=a   replicate-do-db=b

本文說到這里,讀者也可以參考另外兩種同步備份的方法:

不同服務器上mysql如何實現同步備份(一):http://m.ekrvqnd.cn/php/viewart.php?ID=274367

不同服務器上mysql如何實現同步備份(二):http://m.ekrvqnd.cn/php/viewart.php?ID=274525

歡迎大家批評指導!

【編輯推薦】

  1. 淺談mysql在主從服務器中同步的實現
  2. Percona Server與MySQL 5.5的性能比較
  3. 記MySQL使用UDF自動同步memcached的效率
  4. 詳解Discuz_WIN7_Apache_MySQL_PHP平臺搭建

 

責任編輯:趙鵬 來源: 博客園
相關推薦

2011-07-07 17:28:32

mysql同步備份服務器

2011-07-08 08:48:17

服務器mysql同步備份

2018-11-08 10:13:28

Rsync服務器備份

2010-03-04 14:15:38

Ubuntu MySQ

2011-10-09 09:26:04

ubuntursync服務器

2018-09-19 12:08:04

Linux服務器數據

2011-06-24 17:23:18

主服務器從服務器同步

2018-08-31 10:10:06

2010-05-18 15:36:59

IIS服務器

2014-09-22 09:52:06

2016-10-11 12:45:50

PythonWeb服務器

2010-11-19 15:17:01

oracle數據備份

2011-07-25 10:48:34

服務器虛擬服務器

2009-02-13 11:06:00

時間同步服務器服務器

2009-01-04 17:28:11

2009-11-11 10:18:02

2010-01-13 13:35:09

DHCP服務器配置

2009-01-10 19:16:18

服務器ServerCPU

2022-07-18 10:15:14

文件傳輸協議TFTPLinux

2019-09-20 08:17:15

Windows軟件腳本語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91夜色在线观看 | 午夜视频在线免费观看 | 久久小视频 | 香蕉视频1024 | 一区二区三区久久久 | 中文字幕乱码一区二区三区 | 九色网址 | 精品欧美激情在线观看 | 午夜精品久久久久久久99黑人 | 日韩在线一区二区 | 91网站在线看 | 久久成人免费 | 日本三级网站在线观看 | 国产精品久久久久久久久免费 | 中文字幕一区在线观看视频 | 超碰97干| 久久精品中文字幕 | 国产欧美一级二级三级在线视频 | 欧美在线观看一区 | 久久久久久久国产 | 人人爽人人爽人人片av | 日韩免费一区二区 | 91久久精品日日躁夜夜躁欧美 | 中文字幕在线免费观看 | 网络毛片| 亚洲精品成人在线 | 亚洲第一中文字幕 | 国产精品国产精品国产专区不片 | 男女在线网站 | 久久男人 | 国产成人av在线播放 | 久久久久久国产免费视网址 | 久草青青| 日韩精品成人 | 91视频国产一区 | 成人免费视频网站在线观看 | 黄色免费在线观看网站 | 婷婷色网 | 国产丝袜一区二区三区免费视频 | 天堂精品 | 久久精品国产一区二区三区不卡 |