主從模式: 主服務器server1: 192.168.1.20 Mysql 5.0 需要備份的數據庫 mydb 從服務器server2: 192.168.1.22 Mysql 6.0
1.備份現有數據: 最好先停止mysql service 使用[MysqlHome]:\bin\mysqldumple.exe工具 將現有數據備份成一個sql文件: d:\>cd [MysqlHome] [MysqlHome]>cd bin bin:\>mysqldumple -u root -p mydb> d:\mydb.sql //有自己寫的存儲過程或函數時加上--routines 選項,否則默認不備份,。另:在語句后面加',;' 會導致db not found 報錯,。 回車輸入root用戶的密碼后數據庫就會被導出到d:\mydb.sql 中 將mydb.sql COPY到server2 的D:\ 下 在mysql 下運行如下命令: mysql> source mydb.sql 運行完成后數據就會被導入到server2的mysql 中
2.授權: server1上: mysql>grant replication slave on *.* to user@'192.168.1.22' identified by 'pass' 注:6.0 中的用戶要加引號 'user'@''192.168.1.22' 授權server2 使用用戶名user 密碼pass 連接到server1進行數據備份
3.server1配置修改: 數據庫的備份是基于日志復制機制,。 server-id=1 //設置主服務器的編號 log-bin =[log-name] //設置日志文件 binlog-do-db=[db-name] //記錄日志的數據庫 binlog-ignore-db=[db1,db2] //不記錄日志的數據庫 配置修改完成后重新啟動service
4.server2中的配置: 修改my.ini配置文件 在[mysqld] 后面添加如下兩行 server-id=2 replicate-do-db = mydb
在mysql client中運行如下命令: mysql> change master to master_host='192.168.1.20',master_user='user',master_password='pass',master_log_file='[log-name]',master_log_pos=[pos-val]; [log-name] 和[pos-val] 可以在server1中使用 show master status查看,。 重啟service
|
|