MySQL Replication 環境搭建小記

來源:互聯網
上載者:User

MySQL Replication是比較簡單且常見的一種資料庫負載平衡方法。

這裡記錄一下環境搭建的具體過程:

環境:兩台ubuntu,一台做Master,一台Slave。

Master: ubuntub(192.168.1.101)

Slave: ubuntuc(192.168.1.104)

 

Master上:

ubuntub@ubuntub:/etc/mysql$ sudo vi my.cnf

 #bind-address = 127.0.0.1  //注釋掉

server-id               = 1  // 給master設定為1,給slave設定為2
log_bin                 = /var/log/mysql/mysql-bin.log

ubuntub@ubuntub:/etc/mysql$ sudo /etc/init.d/mysql restart
ubuntub@ubuntub:/etc/mysql$ mysql -uroot -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep_user'@'%' IDENTIFIED BY 'rep_password';
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 |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      261 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.02 sec)

mysql> use rep;

mysql> select * from user;
+-------+----+
| name  | id |
+-------+----+
| B     |  1 |
| user3 |  2 |
+-------+----+
2 rows in set (0.00 sec)

 

ubuntub@ubuntub:/data/mysql_bak$ mysqldump -uroot -p rep > dbdump.sql

ubuntub@ubuntub:/data/mysql_bak$ mysql -u root -p

mysql> UNLOCK TABLES;

 

ubuntub@ubuntub:/data/mysql_bak$ scp /data/mysql_bak/dbdump.sql ubuntuc@192.168.1.104:/data/      //把備份資料倒倒slave上

 

在Slave上:

 

ubuntuc@ubuntuc:/data$ sudo vi /etc/mysql/my.cnf

 

#bind-address           = 127.0.0.1

server-id               = 2
log_bin                 = /var/log/mysql/mysql-bin.log

 

ubuntuc@ubuntuc:/etc/mysql$ sudo /etc/init.d/mysql restart

ubuntuc@ubuntuc:/data$ mysql -u root -p

mysql> use rep;

mysql> source /data/dbdump.sql   //把資料匯入

mysql> CHANGE MASTER TO                            //Change Master
    -> MASTER_HOST='192.168.1.101',
    -> MASTER_USER='rep_user',
    -> MASTER_PASSWORD='rep_password',
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=261;

mysql> START SLAVE;

 

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      746 |              |                  |
+------------------+----------+--------------+------------------+

 

mysql> show slave status;  //查看一下沒有錯誤,比如server-id有衝突的話,可能會導致一些錯誤。

 

測試:

1)在Master上建立一個資料庫,然後在Slave上查看,show databases; 應該是可以看到;

2) Master上對rep資料庫的user表進行操作,結果立即複製倒slave上;

參考資料:

http://blog.longwin.com.tw/2008/03/mysql_replication_master_slave_set_2008/

http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-replication.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.