mysql5.5在linux下的集羣,同步和配置優化

最近想本身去搭建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

image

PS:記錄下mysql-bin.000007  107spa

3 配置從數據庫

修改從服務器的配置文件/etc/my.cnf

將 server-id = 1修改成 server-id = 10,並確保這個ID沒有被別的MySQL服務所使用。

重啓mysql數據庫:/ete/init.d/mysqld restart

image

而後進去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

image

其中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)

image

在從服務器上查看      
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 chaged

mysql> 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)      
=============================      
記錄也已經存在

image

由此,整個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 等

相關文章
相關標籤/搜索