1. 環(huán)境:
虛擬機(jī)中2臺(tái)centos6服務(wù)器
image.png
master服務(wù)器IP:192.168.2.66
slave 服務(wù)器IP:192.168.2.67- 分別安裝MySQL5.7參考linux 安裝mysql5.7 數(shù)據(jù)庫(kù)
2.mysql 日志簡(jiǎn)介:
1.
error log錯(cuò)誤日志
2.general query log普通查詢(xún)?nèi)罩?br> 3.slow query log慢查詢(xún)?nèi)罩?br> 4.binary log二進(jìn)制日志
3.MySQL主從簡(jiǎn)單介紹:
- 主從優(yōu)點(diǎn):
- 多個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)對(duì)比一個(gè)數(shù)據(jù)庫(kù),提高性能,提升負(fù)載
- 安全性,多個(gè)節(jié)點(diǎn)提供冗余,提供數(shù)據(jù)安全
- 讀寫(xiě)分離
- 主從實(shí)現(xiàn)原理:
主表數(shù)據(jù)更新,從表讀取主表日志文件binlog文件,同步更新從表數(shù)據(jù)
不建議從節(jié)點(diǎn)過(guò)多- 主從應(yīng)用場(chǎng)景:
- 數(shù)據(jù)庫(kù)備份
- 讀寫(xiě)分離
4.MySQL主從搭建
主表
- master 節(jié)點(diǎn)創(chuàng)建登陸MySQL用戶(hù):
mysql> create user 'repl'@'192.168.2.%' identified by 'repl1234'
image.png- 給創(chuàng)建用戶(hù)賦予權(quán)限:
mysql> grant replication slave on *.* to 'repl'@'192.168.2.%' identified by 'repl1234'- binlog日志:
作用: 增量備份、主從- mysql 5.7默認(rèn)不開(kāi)啟binlog日志:
查看:mysq> show variables like '%log_bin%'
開(kāi)啟:# vim /etc/my.cnf
開(kāi)啟binlog
server-id=1,本臺(tái)機(jī)器上唯一不重復(fù),
log-bin=/var/lib/mysql/mysql-bin,binlog日志文件位置- 重啟MySQL:
# service mysqld restart
查看是否開(kāi)啟:
a.ls /var/lib/mysql/
image.png
mysql-bin.000001:日志文件的數(shù)據(jù)庫(kù)文件
mysql-bin.index :日志文件的索引文件
b.mysql> show variables like '%log_bin%';
image.png
查看binlog日志文件:# mysqlbinlog mysql-bin.000001或mysql> show binlog events或mysql> show binlog events in "文件名"
每次重啟服務(wù)器會(huì)調(diào)用flush logs創(chuàng)建一個(gè)新的bin-log日志文件。
- 查看當(dāng)前日志的狀態(tài):
mysql> show master status;- 查看紀(jì)錄有那些日志文件:
mysql> show master logs;- 清空所有日志文件:
mysql> reset master;從表
1.MySQL配置文件:
# vim /etc/my.cnf添加如下內(nèi)容
image.png
relay-log: 從節(jié)點(diǎn)同步主節(jié)點(diǎn)binlog日志到本地的文件名
2.重啟mysql :# service mysqld restart
3.配置主節(jié)點(diǎn)信息:
mysql> change master to master_host='192.168.2.66',master_port=3306,master_user='repl',master_password='repl1234',master_log_file='mysql-bin.000001',master_log_pos=0;
4.啟動(dòng)從節(jié)點(diǎn):mysql> start slave;
5.查看從節(jié)點(diǎn)狀態(tài):show slave status\G;
image.png
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
這樣,主從就配置好了,注意:如果連接不起,1.先看一下防火墻,關(guān)閉防火墻。2.vim /var/lib/mysql/auto.cnf 修改uuid,隨便改一個(gè)字符。
連接失敗:show slave status\G 時(shí) ,下面有錯(cuò)誤提示。
關(guān)閉從表:myisql> stop slave;
測(cè)試下,在master 中創(chuàng)建一個(gè)表,插入數(shù)據(jù),在從表中查看,是否存在
主表添加數(shù)據(jù)
從表查看數(shù)據(jù)
ok。主從搭建完畢








