最近想本身去搭建mysql集羣和讀寫分類,由於沒有實際項目,全部一切都是我本身搭建的方法,若有問題還望指教mysql
1 在虛擬機上準備mysql 5.5*的環境 mysql -Vgit
1)centos6.5 192.168.239.129 msyql 5.5.27 打算用做從服務器github
2)ubuntu14 192.168.239.128 mysql 5.5.39  主服務器sql
2 主服務上的配置數據庫
查看mysql是否啓動:ps aux |grep mysqldubuntu
經過命令行登陸管理MySQL服務器: ./usr/local/mysql/bin/mysql -u root –pcentos
個人數據庫是全部人都鏈接,因此不用受權,如須要受權則:GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.239.129' identified‘password’;服務器
而後查看主數據庫狀態:show master status;ide
PS:記錄下mysql-bin.000007 107spa
3 配置從數據庫
修改從服務器的配置文件/etc/my.cnf
將 server-id = 1修改成 server-id = 10,並確保這個ID沒有被別的MySQL服務所使用。
重啓mysql數據庫:/ete/init.d/mysqld restart
而後進去mysql庫中:執行以下配置
change master to
master_host='192.168.239.128',
master_user='rep1',
master_password='root',
master_log_file='mysql-bin.000007',
master_log_pos=256;正確執行後啓動Slave同步進程
mysql> start slave;主從同步檢查
mysql> show slave status\G其中Slave_IO_Running 與 Slave_SQL_Running 的值都必須爲YES,才代表狀態正常。
若是主服務器已經存在應用數據,則在進行主從複製時,須要作如下處理:
(1)主數據庫進行鎖表操做,不讓數據再進行寫入動做
mysql> FLUSH TABLES WITH READ LOCK;(2)查看主數據庫狀態
mysql> show master status;(3)記錄下 FILE 及 Position 的值。
將主服務器的數據文件(整個/opt/mysql/data目錄)複製到從服務器,建議經過tar歸檔壓縮後再傳到從服務器解壓。(4)取消主數據庫鎖定
mysql> UNLOCK TABLES;主服務器上的操做
在主服務器上建立數據庫first_db
mysql> create database first_db;
Query Ok, 1 row affected (0.01 sec)在主服務器上建立表first_tb
mysql> create table first_tb(id int(3),name char(10));
Query Ok, 1 row affected (0.00 sec)在主服務器上的表first_tb中插入記錄
mysql> insert into first_tb values (001,’myself’);
Query Ok, 1 row affected (0.00 sec)在從服務器上查看
mysql> show databases;
=============================
+--------------------+
| Database |
+--------------------+
| information_schema |
| first_db |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.01 sec)
=============================
數據庫first_db已經自動生成mysql> use first_db
Database chagedmysql> show tables;
=============================
+--------------------+
| Tables_in_first_db |
+--------------------+
| first_tb |
+--------------------+
1 row in set (0.02 sec)
=============================
數據庫表first_tb也已經自動建立mysql> select * from first_tb;
=============================
+------+------+
| id | name |
+------+------+
| 1 | myself |
+------+------+
1 rows in set (0.00 sec)
=============================
記錄也已經存在由此,整個MySQL主從複製的過程就完成了,接下來,咱們進行MySQL讀寫分離的安裝與配置。
3、MySQL讀寫分離
數據庫Master主服務器:192.168.239.128
數據庫Slave從服務器:192.168.239.129
MySQL-Proxy調度服務器:192.168.239.129
 
安裝配置MySQL-Proxy
目前作讀寫分離的中間件有Qihoo 360 Atlas、阿里包包的 cobar 、Amoeba 和mysql-proxy、MariaDB 宣佈其旗下的 MaxScale 等