nginx mysql双机热备_MYSQL双机热备
mysql從3.23.15版本以后提供數據庫復制功能。利用該功能可以實現兩個數據庫同步,主從模式,互相備份模式的功能,該功能可將一個數據庫的工作量分攤于多個Mysql服務器之上,但考慮到種種因素,不要使用過多的同步服務器。最好的方案是根據網站的性質和結構,設置“一寫多讀”或“一讀多寫"的服務器模式。
數據庫同步復制功能的設置都在mysql的設置文件中體現。mysql的配置文件(一般是my.cnf)在/etc/mysql/my.cnf 或者在mysql用戶的home目錄下面的my.cnf。
設置方法:
設置范例環境:
mysql:mysql-5.0.27.tar.gz
A ip:192.168.1.30 B ip:192.168.1.31
A設置:
1.增加一個用戶最為同步的用戶帳號:
grant all on *.* to 'backup'@'192.168.1.31' identified by 'backup';
2.增加一個數據庫作為同步數據庫:
create database backup
B:設置
1.增加一個用戶最為同步的用戶帳號:
grant all on *.* to 'backup'@'192.168.1.30' identified by 'backup';
2.增加一個數據庫作為同步數據庫:
create database backup
主從模式:A->B
A為master
修改A mysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=1
log-bin
#設置需要記錄log 可以設置log-bin=c:mysqlbakmysqllog 設置日志文件的目錄,
#其中mysqllog是日志文件的名稱,mysql將建立不同擴展名,文件名為mysqllog的幾個日志文件。
binlog-do-db=backup #指定需要日志的數據庫
重啟數據庫服務。
用show master status 命令看日志情況。
B為slave
修改B mysql的my.ini文件。在mysqld配置項中加入下面配置:
server-id=2
master-host=192.168.1.30
master-user=backup #同步用戶帳號
master-password=backup
master-port=3306
master-connect-retry=60 預設重試間隔60秒
replicate-do-db=backup 告訴slave只做backup數據庫的更新
重啟數據庫
用show slave status看同步配置情況。
注意:由于設置了slave的配置信息,mysql在數據庫目錄下生成master.info
所以如有要修改相關slave的配置要先刪除該文件。否則修改的配置不能生效。
雙機互備模式。
如果在A加入slave設置,在B加入master設置,則可以做B->A的同步。
在A的配置文件中 mysqld 配置項加入以下設置:
master-host=192.168.1.31
master-user=backup
master-password=backup
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中 mysqld 配置項加入以下設置:
log-bin=//var/log/mysqllogmysqllog
binlog-do-db=backup
注意:當有錯誤產生時*.err日志文件。同步的線程退出,當糾正錯誤后要讓同步機制進行工作,運行slave start
重起AB機器,即可實現雙向的熱備。
mysql有以下幾種日志:
錯誤日志:?? -log-err
查詢日志:?? -log
慢查詢日志:???? -log-slow-queries
更新日志:???? -log-update
二進制日志:?? -log-bin
==================================================================================
windows下兩個mysql數據庫同步
A:192.168.1.30
grant all on *.* to 'backup'@'192.168.1.31' identified by 'backup';
my.ini
[mysqld]
server-id=1
master-host=192.168.1.31
master-user=backup
master-password=backup
master-port=3306
log-bin="C:/Program Files/MySQL/MySQL Server 5.0/bin.log"
log-error="C:/Program Files/MySQL/MySQL Server 5.0/error.log"
log="C:/Program Files/MySQL/MySQL Server 5.0/mysql.log"
log-update="C:/Program Files/MySQL/MySQL Server 5.0/update.log"
B:192.168.1.31
grant all on *.* to 'backup'@'192.168.1.30' identified by 'backup';
my.ini
[mysqld]
server-id=1
master-host=192.168.1.30
master-user=backup
master-password=backup
master-port=3306
log-bin="C:/Program Files/MySQL/MySQL Server 5.0/bin.log"
log-error="C:/Program Files/MySQL/MySQL Server 5.0/error.log"
log="C:/Program Files/MySQL/MySQL Server 5.0/mysql.log"
log-update="C:/Program Files/MySQL/MySQL Server 5.0/update.log"
總結
以上是生活随笔為你收集整理的nginx mysql双机热备_MYSQL双机热备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java开发技术有什么意义,零基础学Ja
- 下一篇: 10054 java,为什么Socket