Master:192.168.1.101
Slave :192.168.1.102
單向同步(一)
- 進入Master啓動MYSQL
- [root@localhost ~]# service mysqld start
- Starting MySQL [ OK ]
- 進入Mysql命令行模行
- [root@localhost ~]# mysql -uroot -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 9 to server version: 5.0.22-log
-
- Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
-
- mysql>
- 爲slave用戶添加同步專用權限
- mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO 'replication'@'192.168.1.102' identified by '123456';
- Query OK, 0 rows affected (0.01 sec)
-
- mysql> Flush privileges;
- Query OK, 0 rows affected (0.00 sec)
- 建立更新日誌文件
- mkdir /var/log/mysql
- chmod -R 775 /var/log/mysql
- chown -R mysql:mysql /var/log/mysql
- 配置/etc/my.conf
log-bin=mysql-bin |
啓用二制日誌系統 |
server-id=1 |
ID 標示爲主,master_id必須爲1到232–1之間的一個正整數值 |
binlog-ignore-db=mysql,test |
設置須要忽略同步數據庫 |
binlog-do-db=skydb or name.table |
設置須要同步的數據庫或同步的表,若是多個庫,每一個庫增長一行. |
log-bin=/var/log/mysql/updatelog |
設置log日誌文件名 |
- 本導入數據庫
- service mysqld stop
-
- cd /var/lib/mysql tar -jxf skydb.tar.bz2
-
- #若是須要冷copy 那麼直接把數據完程複製到SLAVE上(可選)
- scp skydb.tar.bz2 root@192.168.1.102:/var/lib/mysql
-
- service mysqld start
- 配置SLAVE /etc/my.cnf
server-id = 2 |
Master 與Slave的不能相同 |
master-host = 192.168.1.101 |
指定MASTER地址 |
master-user = replication |
同步用戶名 |
master-password = 123456 |
同步密碼 |
master-port = 3306 |
同步端口 |
master-connect-retry=60 |
斷開從新鏈接等待時間 |
replicate-ignore-db=mysql |
屏蔽須要同步數據庫 |
replicate-do-db= skydb
relay-log=slave-relay-bin |
同步數據庫
生成日誌文件 |
8.解壓MYSQL數據庫(可選 )
- cd /var/lib/mysql
- tar -jxf sky.tar.bz2
9.配置SLAVE二進制數據庫記錄迴歸,達到同步
- [root@localhost ~]# mysql -uroot -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 4 to server version: 5.0.22-log
-
- Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
-
- mysql> slave stop;
- Query OK, 0 rows affected (0.00 sec)
-
- mysql> show master status; #這句是在MASTER服務器裏面執行
- +------------------+----------+--------------+------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
- +------------------+----------+--------------+------------------+
- | updatelog.000004 | 98 | | |
- +------------------+----------+--------------+------------------+
- 1 row in set (0.00 sec)
-
- mysql> CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000004',MASTER_LOG_POS=98;
- Query OK, 0 rows affected (0.01 sec)
-
- mysql> slave start;
- Query OK, 0 rows affected (0.00 sec)
10.若是出現mysql> slave start; ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
- change master to master_host='192.168.1.101', master_user='replication', master_password='123456',master_log_file='updatelog.000001', master_log_pos=98;
11.檢查是配置成功
- show slave status\G
- Slave_IO_Running: YES
- Slave_SQL_Running: YES
配置同步(二)
1.修改原有SLAVE的my.cnf
server-id = 2 |
不要和主 ID 相同 |
master-host = 192.168.1.101 |
指定主服務器 IP 地址 |
master-user = replication |
制定在主服務器上能夠進行同步的用戶名 |
master-password = 123456 |
密碼 |
master-port = 3306 |
同步所用的端口 |
master-connect-retry=60 |
斷點從新鏈接時間 |
replicate-ignore-db=mysql |
屏蔽對 mysql 庫的同步 |
replicate-do-db=skydb |
同步數據庫名稱 |
relay-log=slave-relay-bin |
啓用日誌 |
log-bin=/var/log/mysql/updatelog |
設定生成log文件名 |
binlog-do-db=db1 |
設置同步數據庫名 |
binlog-ignore-db=mysql |
避免同步mysql用戶配置 |
auto_increment_offset
=
2
auto_increment_increment
=
2
|
雙向同步必免建值衝突 |