mysql主從同步

1.關閉系統以避免在複製過程當中數據發生變化html

2.dump主數據庫(dump的時候數據庫必須啓動)mysql

mysqldump -uroot -ppassword sow > d:\sow.sqlsql

3.從數據庫導入數據(向從數據庫導入數據)數據庫

mysql -uroot -ppassword --max_allowed_packet=128M --default-character-set=utf8 服務器

hrms< d:\sow.sqlide

4.在主數據庫上爲從服務器創建一個用戶:(進去數據庫執行mysql -uroot -)spa

grant all privileges on *.* to root@'192.168.1.37' identified by 'password';線程

5.編輯主數據庫的配置文件:my.ini(編輯配置文件的時候須要關閉數據庫服務)server

server-id=1
log-bin=mysql-bin
htm

binlog-do-db=sow
6.
重啓主數據庫服務

mysql -u root

mysql -uroot -ppassword

7.在主服務器上查詢當前二進制文件的文件名及偏移位置:

show master status;

File Position Binlog_Do_DB Binlog_Ignore_DB

mysql-bin.000001 98 sow

這裏的fileposition的值在下面的配置中須要用到.


8.編輯從數據庫的配置文件:my.ini

server-id=2
log-bin=mysql-bin
replicate-do-db=sow

9.重啓從數據庫服務

mysqladmin -uroot -ppassword shutdown;

cd mysqld.exe

10.配置主從(下面三步都在從數據庫中操做)

mysql>change master to
-> master_host='192.168.1.34',
-> master_user='root',
-> master_password='password'
-> master_log_file='mysql-bin.000001',(
這裏的值是第7步中查詢到的值)
-> master_log_pos=98;(
這裏的值是第7步中查詢到的值)

11.啓動從服務器上的複製線程:

start slave;

12.驗證主從設置是否已經成功:

show slave status\G

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

若是這兩個選項不全是Yes,說明前面某個步驟配置錯了。




@@echo off
/* 備份DB的路徑 */
set backdir="d:\backupDB\"
if exist %backdir% (del d:\backupDB\*.sql /f /s ) else ( md %backdir% )

set path_bin_mysql="E:\FINSYSTEM\programs\mysql\bin"

echo %path_bin_mysql%
/* 服務器IP地址 */
set database_address=192.168.1.34
/* 數據庫名稱 */
set database_mysql=sow
/* 用戶名 */
set user_mysql=root
/* 密碼 */
set password_mysql=password
/* 文件的存放路徑及名稱 */
set file_path=%backdir%\%date:~0,10%.sql

%path_bin_mysql%mysqldump -h%database_address% -u%user_mysql% -p%password_mysql% %database_mysql% > %file_path%

echo end backup

相關文章
相關標籤/搜索