MySQL raplication 配置

環境:mysql

    主庫:192.168.1.1sql

    從庫:192.168.1.2數據庫


yum install wget服務器

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupide

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo測試

mv CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.reporest

yum clean all日誌

yum makecacheserver


過程簡述:get

一、安裝mysql-server

二、定義主從庫,即server-id

三、在 mysql 的配置文件中定義二進制日誌文件的路徑和名稱

四、依次重啓主庫和從庫

五、在主庫上建立一個具備複製權限的遠程登陸用戶

六、備份主庫,清空從庫

七、在從庫上還原主庫備份

八、查看主庫狀態,記錄主庫二進制日誌的徹底名稱和position值

九、登錄從庫上使用change命令動態鏈接到主庫

十、查看從庫狀態,【Slave_IO_Running】和【Slave_SQL_Running】爲Yes,則主從配置成功

開始同步主庫



1. 安裝 mysql

 yum install -y mysql-server 


2.定義server_id,ID值不能同樣 

   master:

        server-id=1 

   slave:

         server-id=2 


3. 修改 mysql 的配置文件(/etc/my.cnf)加上以下內容: 

master:

         server-id=1 

         log-bin=binlog

###啓用二進制日誌 

slave:

         server-id=2 

         relay_log=/var/lib/mysql/mysql-relay-bin 

         relay_log_index=/var/lib/mysql/mysql-relay-bin.index 


4. 修改後重啓 mysql 服務 【先主後從】:

 /etc/init.d/mysqld restart 


5. 在 master 上進入到 mysql 進行以下操做: 

mysql>

 grant replication slave on *.* to 'kkk'@'%' identified by '123';

 Query OK, 0 rows affected (0.00 sec) 

mysql>

 flush privileges; 

Query OK, 0 rows affected (0.00 sec) 

##建立一個能夠遠程登陸的用戶,並賦予給它 replication slave 權限。 


6. 在 slave1 上進行以下操做: 

cd /var/lib/mysql 

rm -rf * 

/etc/init.d/mysqld restart 


7. 在 master 上進行以下操做: 

mysqldump -A -x --events > /tmp/backup.sql 

##-x 鎖表 

scp /tmp/backup.sql root@192.168.1.2:/tmp/ 

##將備份文件拷貝到 slave1 服務器上。 


8. 在 slave1 上進行以下操做: 

mysql < /tmp/backup.sql 

##在 slave1 上進行數據庫還原操做。 


9. 在 master 上進行以下操做: 

mysql>

 flush tables with read lock; 

Query OK, 0 rows affected (0.00 sec) 

mysql>

 show master status; 

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

|           File         | Position | Binlog_Do_DB | Binlog_Ignore_DB | 

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

| binlog.000003 | 420724   |                          |                                | 

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

1 row in set (0.00 sec) 

mysql>

 unlock tables; 

Query OK, 0 rows affected (0.00 sec) 


10. 在 slave1 上測試是否可以鏈接到 master 上 

mysql -u kkk -p123 -h 192.168.1.1 


11. 在 slave1 上進行以下操做: 

mysql>

change master to master_host='192.168.1.1',master_port=3306,master_user='kkk',master_password='123',master_log_file='binlog.000003',master_log_pos=420724;

 Query OK, 0 rows affected (0.03 sec) 

mysql>

 start slave;

 Query OK, 0 rows affected (0.00 sec) 

mysql>

 show slave status \G; 

Slave_IO_Running: Yes 

Slave_SQL_Running: Yes 


12. 進行測試:在 master 上建立一個數據庫,並添加一張表,再登陸到 slave 

上能夠看到數據都同步過去了。 

所遇問題:進行到 11 步時發現 Slave_IO_Running 後面是 No,試了好多方法都 

不行,後來乾脆從 master 機器上拷貝一份 my.cnf 配置文件,修改一下,從新啓 

動服務,再作一遍便可。

相關文章
相關標籤/搜索