溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Mysql多主一從數(shù)據(jù)備份的方法教程

發(fā)布時(shí)間:2020-10-04 14:56:11 來源:腳本之家 閱讀:186 作者:張志有 欄目:MySQL數(shù)據(jù)庫

概述

對(duì)任何一個(gè)數(shù)據(jù)庫的操作都自動(dòng)應(yīng)用到另外一個(gè)數(shù)據(jù)庫,始終保持兩個(gè)數(shù)據(jù)庫中的數(shù)據(jù)一致。

這樣做有如下幾點(diǎn)好處:

  • 可以做災(zāi)備,其中一個(gè)壞了可以切換到另一個(gè)。
  • 可以做負(fù)載均衡,可以將請(qǐng)求分?jǐn)偟狡渲腥魏我慌_(tái)上,提高網(wǎng)站吞吐量。 對(duì)于異地?zé)醾?,尤其適合災(zāi)備。

MySQL 主從復(fù)制的方式

1 Master 數(shù)據(jù)庫操作的任何數(shù)據(jù)庫的時(shí)候,都會(huì)將操作記錄寫入到biglog日志文件當(dāng)中

2 Slave 數(shù)據(jù)庫通過網(wǎng)絡(luò)獲取到主數(shù)據(jù)庫的日志文件,寫入本地日志系統(tǒng) ,然后一條條的將數(shù)據(jù)庫事件在數(shù)據(jù)庫中完成

3 Slave 重做中繼日志中的事件,將 Master 上的改變反映到它自己的數(shù)據(jù)庫中,所以兩端的數(shù)據(jù)是完全一樣的。

Mysql多主一從數(shù)據(jù)備份的方法教程

環(huán)境

操作系統(tǒng):CentOS

MySQL版本:mysql-5.6.26 (主從兩者數(shù)據(jù)庫版本必須保持一致)

Master1 配置

1 開啟binlog日志功能

vim /etc/my.cnf

server-id=6
log-bin=mysql-bin

2 重啟mysql 登陸并授權(quán)

mysql -uroot -p123456

grant replication slave, replication client on *.* to 'repl'@'10.211.55.7' identified by '123456';

ip地址為slave服務(wù)器的ip地址

3 查看日志狀態(tài)

show master status;

Master2 配置

1 開啟binlog日志功能

vim /etc/my.cnf

server-id=8
log-bin=mysql-bin

2 重啟mysql 登陸并授權(quán)

mysql -uroot -p123456

grant replication slave, replication client on *.* to 'repl'@'10.211.55.7' identified by '123456';

ip地址為slave服務(wù)器的ip地址

3 查看日志狀態(tài)

show master status;

Slave 配置

1 修改配置文件 (注意 slave的默認(rèn)數(shù)據(jù)庫啟動(dòng)的端口必須關(guān)閉 service mysql stop)

vim /etc/my.cnf

[mysqld]
 binlog-ignore-db=mysql
 binlog_format=mixed
 expire_logs_days=7
 slave_skip_errors=1062
 relay_log=mysql-relay-bin
 log_slave_updates=1

[mysqld_muliti]
 mysqld=/usr/bin/mysqld_safe
 mysqladmin=/usr/bin/mysqladmin
 user=root
 password=123456
[mysqld6]
 port=3306
 datadir=/home/mysql/data6
 pid-file=/home/mysql/data6/mysql.pid
 socket=/home/mysql/data6/mysql.sock
 user=mysql
 server-id=7
[mysqld8]
 port=3307
 datadir=/home/mysql/data8
 pid-file=/home/mysql/data8/mysql.pid
 socket=/home/mysql/data8/mysql.sock
 user=mysql
 server-id=7

2 初始化生成目錄

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data6 &
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data8 &

3 修改目錄權(quán)限

chown -R mysql /home/mysql/data6

chown -R mysql /home/mysql/data8

4 啟動(dòng)服務(wù)

mysqld_multi --defaults-file=/etc/my.cnf start 6

mysqld_multi --defaults-file=/etc/my.cnf start 8

5 登錄測(cè)試(并分別做授權(quán))

mysql -P 3306 -S /home/mysql/data6/mysql.sock

mysql> change master to master_host='10.211.55.6', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> start slave;

mysql -P 3307 -S /home/mysql/data8/mysql.sock

mysql> change master to master_host='10.211.55.8', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> start slave;

ok 就這樣 完成了

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI