程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql5 master slave安裝配置日志_MySQL教程

mysql5 master slave安裝配置日志_MySQL教程

編輯:關於MYSQL數據庫

背景:

master:192.168.100.231 MySQL5.0.19 Linux

slave:    192.168.100.234 MySQL5.0.18 Linux

step1) 配置master

在/etc/init.d MySQLd段加入

#(要同步的數據庫)
binlog_do_db = test

並確保

server-id=1

log-bin=MySQL-bin

step2) 授權slave

GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY '123';

重啟master

step3)配置slave

vi /etc/my.cnf

設置下面4行

server-id       = 2

master-host     =   192.168.100.231

master-user     =   test

master-passWord =   123

重啟發現slave的I/O線程工作正常,而SQL線程不工作

報了很怪的錯誤

070307 16:30:27 [ERROR] Slave: Error 'Table 'passport.loginuser' doesn't exist' on query. Default database: 'passport'. Query: 'delete from loginuser where tokenRefreshTime<='2006-07-03 07:00:00'', Error_code: 1146
070307 16:30:27 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'MySQL-bin.000001' position 98

因該是relay log中的數據有問題,於是在

將master機器上的數據拷到244,發現還是有問題。

於是在/etc/my.cnf中加入

replicate-do-db=test

重啟slave,

show slave status發現兩個線程工作正常

5)測試

在master的test數據的user表中添加了一條記錄

然後在slave上通過show processlist看slave工作情況一切正常,

再查數據庫數據似乎沒有更新,查看slave錯誤日志

070307 16:45:16 [ERROR] Slave: Error 'Can't create database 'test'; database exists' on query. Default database: 'test'. Query: 'create database test', Error_code: 1007
070307 16:45:16 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'MySQL-bin.000040' position 70671

原來都是我當初拷貝數據惹的禍,因為主機日志在我建數據庫的時候就開始了,所以我拷貝數據多此一舉,於是

我刪除拷貝的數據庫,一切ok

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved