主數據庫IP:192.168.3.169
從數據庫IP:192.168.3.34mysql
主數據庫配置my.inin:sql
在[mysqld]下添加配置數據:
server-id=1 #配一個惟一的ID編號,1至32。
log-bin=mysql-bin #二進制文件存放路徑
#設置要進行或不要進行主從複製的數據庫名,同時也要在Slave 上設定。
binlog-do-db=數據庫名1
binlog-do-db=數據庫名2
binlog-ignore-db=數據庫名1
binlog-ignore-db=數據庫名2
保存,重啓數據庫服務。數據庫
在cmd下登陸數據庫:
mysql mysql -u[用戶名] -p[密碼] 如: mysql -uroot -proot
在主數據庫中創建一個備份帳戶:
mysql>grant replication slave,reload,super on *.* to slave@192.168.3.34 identified by 'slave' ;
mysql>flush privileges;
mysql>show master status; # 找到File 和 Position 的值記錄下來;ide
從數據庫配置my.ini:
[mysqld]
server-id=2 #惟一
#設置要進行或不要進行主從複製的數據庫名,同時也要在Master 上設定。
replicate-do-db=數據庫名1
replicate-do-db=數據庫名2
replicate-ignore-db=數據庫名1
replicate-ignore-db=數據庫名2
保存,重啓數據庫服務。在mysql5.1以上版本中是不支持1中master設置的,若是添加了master設置,數據庫就沒法重啓了;spa
在cmd下登陸數據庫:
mysql mysql -u[用戶名] -p[密碼]命令行
mysql>change master to master_host='192.168.3.169',master_user='slave',master_password='slave', master_log_file='mysql-bin.000001',master_log_pos=107;
mysql> start slave;
mysql> show slave status\G
若是出現:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上兩項都爲Yes,那說明沒問題了。若是指定了個別的數據庫,還能夠看到
注:若是出現Slave_SQL_Running:connecting的現象,首先在從庫命令行下輸入:
#mysql -uslave -pslave
看是否能登入mysql,若是是拒絕等提示,那要查看主機上的第從庫受權操做是否用戶的權限等設置正確orm
配置成功後,修改主數據庫信息,從數據庫會自動更新。server
若是Slave_SQL_Running: NO 本人偷懶,將從機數據庫重裝了一下,就解決了
get