MySQL raplication 配置

來源:互聯網
上載者:User

標籤:mysql   raplication   change   slave_io_running   slave_sql_running   

環境:

    主庫:192.168.1.1

    從庫:192.168.1.2


yum install wget

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

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

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

yum clean all

yum makecache


過程簡述:

1、安裝mysql-server

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

3、在 mysql 的設定檔中定義二進位記錄檔的路徑和名稱

4、依次重啟主庫和從庫

5、在主庫上建立一個具有複製許可權的遠程登入使用者

6、備份主庫,清空從庫

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

8、查看主庫狀態,記錄主庫二進位日誌的完全名稱和position值

9、登陸從庫上使用change命令動態串連到主庫

10、查看從庫狀態,【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 [email protected]:/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 設定檔,修改一下,重新啟 

動服務,再做一遍即可。


本文出自 “楓淩傲雪” 部落格,請務必保留此出處http://2689027.blog.51cto.com/2679027/1619586

MySQL raplication 配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.