Mysql 數據庫熱備份


主從模式:

主服務器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




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM