Django读写分离、主从备份

407 阅读1分钟

进行主从备份,在主、从两个服务器都要关闭防火墙和selinux

systemctl stop firewalld

setenforce 0

安装mariadb相关

yum -y install mariadb mariadb-server

重启mariadb

systemctl restart mariadb

 

测试

mysql -u root -p

 

成功

进入配置模式

mysql_secure_installation

 

进入mysql,创建数据库

mysql -u root -p1111

create database Ourblog;    

给所有用户授权

GRANT REPLICATION SLAVE ON *.* TO “root”@"%" IDENTIFIED BY '1111' with grant option;

刷新授权表

flush privileges; 

在数据库中创建测试表

use Ourblog;

create table article(id int primary key auto_increment,title char(32));

导出数据库(退出数据库以后执行)

mysqldump -h localhost -u root -p1111 Ourblog > Ourblog.sql

使用scp命令将导出的数据库文件传到从服务器上

scp Ourblog.sql root@10.10.65.69:/opt

从服务器:

进入mysql创建同名的数据库

mysql -u root -p1111

create database Ourblog

导入传过来的sql文件

mysql -h localhost -u root -p1111 Ourblog < Ourblog.sql

配置文件 /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
下配置以下内容

server-id=1
log_bin=mysql-bin?
binlog-do-db=OurBlog
binlog-ignore-db=mysql

保存、重启mariadb

systenctl restart mariadb

到 从服务器  /etc/my.cnf

配置以上内容  server-id 要和主服务器不同

保存、重启mariadb

systenctl restart mariadb

进入数据库

配置备份

change master to MASTER_HOST='10.10.65.40',MASTER_USER='root ',MASTER_PASSWORD='1111',MASTER_LOG_FILE='mysql-bin?.000001',MASTER_LOG_POS=245;

开始备份

slave start

查看备份状态

查看slave相关状态
show slave status



查看master相关状态

show master status;

现在可以在主服务器,对数据库进行操作,在从服务器查看数据库