天天看點

mysql 5.5織夢,Mysql5.5主從複制配置

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

> 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