程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql5.5主從復制配置

Mysql5.5主從復制配置

編輯:MySQL綜合教程

 

1.主庫編輯my.cnf:

[mysqld]

log-bin=NEW_NAME

server-id=1     #配一個唯一的ID編號,1至32。

#設置要進行或不要進行主從復制的數據庫名,同時也要在Slave 上設定。

binlog-do-db=數據庫名1

binlog-do-db=數據庫名2

binlog-ignore-db=數據庫名1

binlog-ignore-db=數據庫名2

mysql> grant replication slave on *.* to [email protected] identified by '123456' ;

mysql> flush privileges;

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000008 |      337 |              |                  |

+------------------+----------+--------------+------------------+

記錄下二進制日志文件名和位置

 

2.從庫編輯my.cnf,把server-id改成不和主機相同的數字。

如果只想同步指定的數據庫,可以添加  replicate-do-db = yourdatabase,

同步幾個就復制幾個,把數據庫名改了就好。

[mysqld]

server-id=2     #唯一

#設置要進行或不要進行主從復制的數據庫名,同時也要在Master 上設定。

replicate-do-db=數據庫名1

replicate-do-db=數據庫名2

replicate-ignore-db=數據庫名1

replicate-ignore-db=數據庫名2

 

mysql> change master to master_host='192.168.1.100',master_user='slaveuser',master_password='123456', master_log_file='mysql-bin.000008',master_log_pos=337;

mysql> start slave;

mysql> show slave status\G;

如果出現:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上兩項都為Yes,那說明沒問題了。如果指定了個別的數據庫,還可以看到

注:如果出現Slave_SQL_Running:connecting的現象,首先在從庫命令行下輸入:

#mysql -uslaveuser -h 192.168.1.100 -p123456

看是否能登入mysql,如果是拒絕等提示,那要查看主機上的第從庫授權操作是否用戶的權限等設置正確。

 

如果開始的環境不是主從架構,跑了一段時間已經有了數據,這時候要先在主機上加鎖:flush tables with read lock;

打包主機的數據目錄:#tar zcf  /tmpdatabak.tgz /opt/data,拷貝這個壓縮包到從機,解壓後,做主從的配置。

然後解鎖:unlock tables;

 

作者 iloveyin

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