mysql文件类型_MyCat教程:实现MySql主从复制
原文:http://iii75.cn/mwQhBW
作者:波波烤鴨
歷史相關(guān)文章
Mycat入門教程
單個mysql數(shù)據(jù)庫在處理業(yè)務(wù)的時候肯定是有限的,這時我們擴(kuò)展數(shù)據(jù)庫的第一種方式就是對數(shù)據(jù)庫做讀寫分離(主從復(fù)制),本文我們就先來介紹下怎么來實(shí)現(xiàn)mysql的主從復(fù)制操作。
1. 讀寫分離
原理:需要搭建主從模式,讓主數(shù)據(jù)庫(master)處理事務(wù)性增、改、刪操作(INSERT、UPDATE、DELETE),而從數(shù)據(jù)庫(slave)處理 SELECT 查詢操作。??Mycat 配合數(shù)據(jù)庫本身的復(fù)制功能,可以解決讀寫分離的問題。
2.主從備份概念
什么是主從備份: 就是一種主備模式的數(shù)據(jù)庫應(yīng)用. 主庫(Master)數(shù)據(jù)與備庫(Slave)數(shù)據(jù)完全一致. 實(shí)現(xiàn)數(shù)據(jù)的多重備份, 保證數(shù)據(jù)的安全. 可以在 Master[InnoDB]和 Slave[MyISAM]中使用不同的數(shù)據(jù)庫引擎,實(shí)現(xiàn)讀寫的分離 InnoDB:支持事務(wù)處理 MyISAM:不支持事務(wù)處理
2.1MySQL5.5, 5.6 版本后本身支持主從備份
在老舊版本的 MySQL 數(shù)據(jù)庫系統(tǒng)中,不支持主從備份,需要安裝額外的 RPM 包.如果需要安裝 RPM,只能在一個位置節(jié)點(diǎn)安裝.
2.2主從備份目的
2.2.1 實(shí)現(xiàn)主備模式
保證數(shù)據(jù)的安全. 盡量避免數(shù)據(jù)丟失的可能.
2.2.2 實(shí)現(xiàn)讀寫分離
使用不同的數(shù)據(jù)庫引擎,實(shí)現(xiàn)讀寫分離.提高所有的操作效率. ??InnoDB 使用 DML 語法操作. MyISAM 使用 DQL 語法操作.
2.3主從備份效果
2.3.1 主庫操作同步到備庫
所有對 Master 的操作,都會同步到 Slave 中.如果 Master 和 Salve 天生上環(huán)境不同,那么對 Master 的操作,可能會在 Slave 中出現(xiàn)錯誤如: 在創(chuàng)建主從模式之前,Master 有 database : db1, db2, db3. Slave 有 database: db1, db2.創(chuàng)建主從模式.現(xiàn)在的情況 Master 和 Slave 天生不同.主從模式創(chuàng)建成功后,在 Master 中 drop database db3. Slave 中拋出數(shù)據(jù)庫 SQL 異常.后續(xù)所有的命令不能同步.一旦出現(xiàn)錯誤. 只能重新實(shí)現(xiàn)主從模式.
2.4主從模式下的邏輯圖
image.png
3.MySQL主從模式搭建
3.1 安裝MYSQL
mysql安裝教程: https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88893932
環(huán)境地址
主節(jié)點(diǎn):192.168.88.180從節(jié)點(diǎn):192.168.88.181image.png
image.png
3.2 主庫配置修改(Master)
路徑:/etc/my.cnf
3.2.1 server_id配置
本環(huán)境中 server_id 是 1
MySQL 服務(wù)唯一標(biāo)識
配置要求:
server_id 任意配置,只要是數(shù)字即可
server_id Master 唯一標(biāo)識數(shù)字必須小于 Slave 唯一標(biāo)識數(shù)字.
3.2.2 log_bin配置
本環(huán)境中 log_bin 值 : master_log
開啟日志功能以及日志文件命名,log_bin=master_log
變量的值就是日志文件名稱.是日志文件名稱的主體.
MySQL 數(shù)據(jù)庫自動增加文件名后綴和文件類型.
3.2.3 重啟mysql
service mysql restart3.2.4 登錄mysql
從mysql的安裝路徑下進(jìn)入
./bin/mysql -uroot -h127.0.0.1 -p1234563.2.5 創(chuàng)建用戶
在 MySQL 數(shù)據(jù)庫中,為不存在的用戶授權(quán),就是同步創(chuàng)建用戶并授權(quán).
此用戶是從庫訪問主庫使用的用戶
ip 地址不能寫為%. 因?yàn)橹鲝膫浞葜?當(dāng)前創(chuàng)建的用戶,是給從庫 Slave 訪問主庫 Master使用的.用戶必須有指定的訪問地址.不能是通用地址.
grant all privileges on . to ‘username’@’ip’ identified by ‘password’ with grant option;flush privileges;grant all privileges on *.* to 'myslave'@'192.168.88.181' identified by 'myslave' with grant option;flush privileges;3.2.6 查看用戶
use mysql;select host, user from user;3.2.7 查看 Master 信息
master_log.00003就是主從復(fù)制中從數(shù)據(jù)庫要讀取的日志文件。
注意:關(guān)閉防火墻或在防火墻中開放 3306 端口
3.3 從庫配置修改(slave)
3.3.1 修改my.cnf的server_id
從庫的 server_id要比主庫中的server_id的值要大
然后重啟mysql服務(wù)
3.3.2 連接mysql服務(wù)
3.3.3 停止 Slave 功能
stop slave3.3.4 配置主庫信息
需要修改的數(shù)據(jù)是依據(jù) Master 信息修改的.ip 是 Master 所在物理機(jī) IP. 用戶名和密碼是Master 提供的 Slave 訪問用戶名和密碼. 日志文件是在 Master 中查看的主庫信息提供的.在Master 中使用命令 show master status 查看日志文件名稱.
change master to master_host=’ip’, master_user=’username’, master_password=’password’, master_log_file=’log_file_name’;3.3.5 啟動 Slave 功能
start slave;3.3.6 查看 Slave 配置
show slave status G; # G 行轉(zhuǎn)列注意:如果輸出中有如下提示:
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the –replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).原因是以為兩個數(shù)據(jù)庫是克隆出來的,所以uuid是一致的,這時只需要刪除掉一個uuid即可,具體如下:
把a(bǔ)uto.cnf 注釋掉或者刪除掉,重啟mysql就會重新分配!
4. 主從測試
4.1 創(chuàng)建數(shù)據(jù)庫同步
在master上新建一個數(shù)據(jù)庫,然后查看slave中是否也有即可
create database demo2 default character set utf8;4.2 創(chuàng)建table同步
create table t_user (id varchar(20),name varchar(20));4.3 數(shù)據(jù)操作同步
insert into t_user (id,name)values('666','bobo');通過演示我們發(fā)現(xiàn)主數(shù)據(jù)庫的修改會及時的同步到從數(shù)據(jù)庫,這樣mysql的主從配置就OK了,好了本文就到此.
總結(jié)
以上是生活随笔為你收集整理的mysql文件类型_MyCat教程:实现MySql主从复制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信用卡审核成功怎么查额度 信用卡审核通过
- 下一篇: ssm框架搭建连接mysql_从零开始搭