版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農(nóng)村信用合作社聘用合同樣本
- 二零二五年度國(guó)際貨物出口合同范文:非洲新興市場(chǎng)合作項(xiàng)目
- 2025年度公廁工程承包合同書(含社區(qū)共建)3篇
- 二零二五年度公司施工隊(duì)鋼結(jié)構(gòu)工程施工合作協(xié)議3篇
- 二零二五年度全新高空橋梁施工意外事故免責(zé)責(zé)任書3篇
- 二零二五年度智能倉(cāng)儲(chǔ)物流系統(tǒng)采購(gòu)合同模板2篇
- 二零二五年度消防隊(duì)伍后勤保障服務(wù)合同3篇
- 2025年度農(nóng)村出租房租賃與農(nóng)村電子商務(wù)運(yùn)營(yíng)服務(wù)合同
- 2025年度智慧城市建設(shè)項(xiàng)目合同2篇
- 二零二五年度農(nóng)村集體土地房屋產(chǎn)權(quán)轉(zhuǎn)讓合同下載
- 2023家居日用品市場(chǎng)洞察報(bào)告分析
- 臨床合理用藥的持續(xù)改進(jìn)措施
- 修理廠自查自糾報(bào)告 自查自糾報(bào)告
- 中學(xué)推優(yōu)入團(tuán)方案
- 粉末涂料有限公司除塵系統(tǒng)安全風(fēng)險(xiǎn)分級(jí)清單
- 招投標(biāo)專員績(jī)效考核表
- SL631-637-2012-水利水電工程單元工程施工質(zhì)量驗(yàn)收評(píng)定標(biāo)準(zhǔn)
- 深圳分區(qū)地圖可移動(dòng)編輯
- 2023年新版烏斯特統(tǒng)計(jì)公報(bào)即將發(fā)布
- 污水處理廠安全生產(chǎn)風(fēng)險(xiǎn)分級(jí)管控體系方案全套資料匯編完整版
- 高危急性胸痛的快速診斷和誤診病案分析
評(píng)論
0/150
提交評(píng)論