mysql主從與讀寫分離安裝詳解_第1頁(yè)
mysql主從與讀寫分離安裝詳解_第2頁(yè)
mysql主從與讀寫分離安裝詳解_第3頁(yè)
mysql主從與讀寫分離安裝詳解_第4頁(yè)
mysql主從與讀寫分離安裝詳解_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Mysql主從與讀寫分離主從模式Master:Slave:一、配置主服務(wù)器1.1修改mysql配置文件 # vi /etc/my.cof在配置文件中添加log-bin=mysql-bin(開啟二進(jìn)制日志) server-id = 11.2啟動(dòng)mysql service mysqld start1.3登陸mysql mysql -uroot ppasswd1.4授權(quán)給從服務(wù)器 mysql> GRANT REPLICATION SLAVE ON *.* to 'user''' identifie

2、d by password;1.5查看主數(shù)據(jù)庫(kù)狀態(tài)mysql> show master status;+-+-+-+-+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-+-+-+-+| mysql-bin.000005 | 261 | | |+-+-+-+-+記錄下 File 及 Position 的值,在后面進(jìn)行從服務(wù)器操作的時(shí)候需要用到二、配置從服務(wù)器2.1修改從服務(wù)器的配置文件/etc/f添加 server-id = 2,并確保這個(gè)ID沒有被別的MySQL服務(wù)所使用。2.2啟動(dòng)mysql服務(wù)service mysqld

3、start2.3通過命令行登錄管理MySQL服務(wù)器#mysql -uroot -p'password'2.4執(zhí)行同步SQL語(yǔ)句mysql> change master tomaster_host=,master_user=user,master_password=password,master_log_file=mysql-bin.000005,master_log_pos=261;正確執(zhí)行后啟動(dòng)Slave同步進(jìn)程mysql> start slave;2.5主從同步檢查mysql> show slave statusG=* 1. row

4、*Slave_IO_State:Master_Host: Master_User: userMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000005Read_Master_Log_Pos: 415Relay_Log_File: localhost-relay-bin.000008Relay_Log_Pos: 561Relay_Master_Log_File: mysql-bin.000005Slave_IO_Running: YESSlave_SQL_Running: YESReplicate_

5、Do_DB:省略若干Master_Server_Id: 11 row in set (0.01 sec)=其中Slave_IO_Running 與 Slave_SQL_Running 的值都必須為YES,才表明狀態(tài)正常。如果不是yes 請(qǐng)認(rèn)真檢查配置文件中的Server_Id是否正確,或者執(zhí)行同步輸入是否正確??聪路阑饓κ欠翊蜷_了3306端口!2.6如果主服務(wù)器已經(jīng)存在應(yīng)用數(shù)據(jù),則在進(jìn)行主從復(fù)制時(shí),需要做以下處理:(1)主數(shù)據(jù)庫(kù)進(jìn)行鎖表操作,不讓數(shù)據(jù)再進(jìn)行寫入動(dòng)作mysql> FLUSH TABLES WITH READ LOCK;(2)查看主數(shù)據(jù)庫(kù)狀態(tài)mysql> show ma

6、ster status;(3)記錄下 FILE 及 Position 的值。將主服務(wù)器的數(shù)據(jù)文件(整個(gè)/opt/mysql/data目錄)復(fù)制到從服務(wù)器,建議通過tar歸檔壓縮后再傳到從服務(wù)器解壓。(4)取消主數(shù)據(jù)庫(kù)鎖定mysql> UNLOCK TABLES;2.7驗(yàn)證主從復(fù)制效果(1)主服務(wù)器上的操作在主服務(wù)器上創(chuàng)建數(shù)據(jù)庫(kù)first_dbmysql> create database first_db;Query Ok, 1 row affected (0.01 sec)在主服務(wù)器上創(chuàng)建表first_tbmysql> create table first_tb(id int

7、(3),name char(10);Query Ok, 1 row affected (0.00 sec)在主服務(wù)器上的表first_tb中插入記錄mysql> insert into first_tb values (001,myself);Query Ok, 1 row affected (0.00 sec)(2)在從服務(wù)器上查看mysql> show databases;=+-+| Database |+-+| information_schema | first_db | mysql | performance_schema | test |+-+5 rows in set

8、 (0.01 sec)=數(shù)據(jù)庫(kù)first_db已經(jīng)自動(dòng)生成mysql> use first_dbDatabase chagedmysql> show tables;=+-+| Tables_in_first_db |+-+| first_tb |+-+1 row in set (0.02 sec)=數(shù)據(jù)庫(kù)表first_tb也已經(jīng)自動(dòng)創(chuàng)建mysql> select * from first_tb;=+-+-+| id | name |+-+-+| 1 | myself |+-+-+1 rows in set (0.00 sec)=記錄也已經(jīng)存在由此,整個(gè)MySQL主從復(fù)制的過程

9、就完成了,接下來,我們進(jìn)行MySQL讀寫分離的安裝與配置。讀寫分離配置安裝我只有兩臺(tái)服務(wù)器,所以下面的配置我都會(huì)在master上面進(jìn)行MySQL-Proxy可通過以下網(wǎng)址獲得:.tw/Downloads/MySQL-Proxy/現(xiàn)在的最新版本為mysql-proxy 0.8.3 已經(jīng)將所需要的lua腳本集成到安裝包里,所以不需要再另行安裝lua我的環(huán)境為兩臺(tái)虛擬機(jī)所以我下載的是mysql-proxy-0.8.3-linux-rhel5-x86-32bit.tar.gz1.1將安裝包下載之后,通過tar命令解壓即可#tar zxf mysql-

10、proxy-0.8.3-linux-rhel5-x86-32bit.tar.gz#mv mysql-proxy-0.8.3.-linux-rhel5-x86-32bit ./mysql-proxy#cd mysql-proxy到這里mysql-proxy包已經(jīng)安裝完成。1.2現(xiàn)在開始編寫啟動(dòng)腳本并啟動(dòng)#!/bin/bash/mysql-porxy/proxy/bin/mysql-proxy -proxy-backend-addresses=:3306 -proxy-read-only-backend-addresses=:3306 -proxy-lua-

11、script=/mysql-porxy/proxy/share/doc/mysql-proxy/rw-splitting.lua &注:如果正常情況下啟動(dòng)后終端不會(huì)有任何提示信息,mysql-proxy啟動(dòng)后會(huì)啟動(dòng)兩個(gè)端口4040和4041,4040用于SQL轉(zhuǎn)發(fā),4041用于管理mysql-proxy。如有多個(gè)mysql-slave可以依次在后面添加全部的安裝配置已經(jīng)完成。我們來進(jìn)行驗(yàn)證1、連接測(cè)試 因?yàn)槟J(rèn)情況下mysql數(shù)據(jù)庫(kù)不允許用戶在遠(yuǎn)程連接 mysql>grant allprivileges on *.* to 'root''%' id

12、entified by 'password' mysql>flushprivileges; 客戶端連接 #mysql -uroot-ppassword -h -P40402、讀寫分離測(cè)試首先停止slave服務(wù)器的復(fù)制mysql>stop slave;連接MySQL-Proxy#mysql -uroot-ppassword -h -P4040登陸成功后,在first_db數(shù)據(jù)的first_tb表中插入兩條記錄mysql> use first_db;Database changedmysql> insert int

13、o first_tb values (007,first);Query Ok, 1 row affected (0.00 sec)mysql> insert into first_tb values (110,second);Query Ok, 1 row affected (0.00 sec)下面,分別登陸到主從數(shù)據(jù)庫(kù)服務(wù)器,對(duì)比記錄信息首先,檢查主數(shù)據(jù)庫(kù)服務(wù)器mysql> select * from first_tb;=+-+-+| id | name |+-+-+| 1 | myself |+-+-+| 007 | first |+-+-+| 110 | second |+-+-+3 rows in set (0.00 sec)=兩條新記錄都已經(jīng)存在然后,檢查從數(shù)據(jù)庫(kù)服務(wù)器mysql> sel

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論