Jquery中文網 www.afdoqc.live
Jquery中文網 >  數據庫  >  mysql  >  正文 配置MySQL 5.0的復制(Replication)的詳解

配置MySQL 5.0的復制(Replication)的詳解

發布時間:2017-12-13   編輯:www.afdoqc.live
jquery中文網為您提供配置MySQL 5.0的復制(Replication)的詳解等資源,歡迎您收藏本站,我們將為您提供最新的配置MySQL 5.0的復制(Replication)的詳解資源
Replication就是mysql數據庫中一個主從復制功能了,我們可以通過Replication功能來進行數據的一個同步或異步同步了,這樣可以實現多臺服務器數據實時更新了。

MySQL的Replication功能可以自動同步主MySQL服務器的更新到若干個輔MySQL服務器上,這個功能能把MySQL的數據實時分布到多臺機器上,提交了MySQL的數據安全性。

配置MySQL Replication并不是個簡單的工作,如果配置的不好,回導致MySQL的同步性能不好,或者不能同步,甚至導致主輔服務器的數據不一致。

下面主服務器為master,輔助服務器為slave

master的配置

第一步保證master能單機正常工作,略。

在master上創建一個MySQL用戶,這個用戶專門用于Replication:

grant replication slave on *.* to 'repluser'@'%' identified by 'mypassword';

編輯MySQL的配置文件,允許log-bin,并且給master分配一個ID:

[mysqld]
skip-name-resolve
server-id=10
log-bin=mysql-bin
sync_binlog=1
innodb_flush_logs_at_trx_commit=1
innodb_support_xa=1
slave的配置
配置ID等

[mysqld]
server-id=20
log_bin = mysql-bin
relay_log = mysql-relay-bin
skip_slave_start
log_slave_updates = 1
read_only
skip-name-resolve

同步數據

在master上把數據導出,并記錄當前數據位置。用一個用戶連接mysql并運行:

flush tables with read lock;
show master status;

然后該連接不要退出,否則read lock就失效了,記錄下當前日志的文件名和位置。在另外一個窗口運行如下命令導出數據:

mysqldump -uroot -p  --all-databases |gzip -c > db.sql.gz

然后把數據文件拷貝到slave上,解壓縮:

gunzip db.sql.gz

進MySQL導入:

source db.sql;

這時候slave上的數據已經同步到master的導出時刻的數據了,下面就啟動自動同步的線程就可以了:

change master to master_host='1.1.1.1', master_user='repluser', aster_password='mypassword',master_log_file='mysql-bin.000006',master_log_pos=502185;
show slave status;
start slave;

show slave status;

從上面的
show slave status命令的輸出可以看到,
IO線程和SQL線程都開始工作了。過幾分鐘后比較一下slave和master上的日志文件及其位置,應該就是一樣的了。

注意事項
應用程序不要使用數據庫的root用戶,一定要創建普通用戶供應用程序使用,因為root用戶可以在slave上進行寫操作,容易導致數據不一致。

您可能感興趣的文章:
配置MySQL 5.0的復制(Replication)的詳解
centos5.4下mysql主從復制配置分享
一例監控mysql主從復制的shell腳本
同一臺服務器上安裝兩個mysql的教程
從源碼開始搭建MySQL主從服務器的簡單配置
無法啟動mysql服務,進程意外終止,1067錯誤的解決方法
linux下指定數據庫服務器主從同步的實例
MySQL實現實時備份的配置過程詳解
Linux下指定數據庫數據配置主主同步的實例
配置mysql-5.1.35 主從復制

[關閉]
英格兰足球队