首页 > 数据库 >MySQL双机热备

MySQL双机热备

时间:2022-10-13 21:02:15浏览次数:55  
标签:热备 db master MySQL 服务器 双机 risen02 risen03

 1.MySQL双机热备原理

双机热备就是使用MySQL提供的一种主从备份机制实现。所谓双机热备其实是一个复制的过程,复制过程中一个服务器充当主服务器,一个或多个服务器充当从服务。这个复制的过程实质上是从服务器复制主服务器上MySQL的二进制日志(bin-log),并在从服务器上还原主服务器上的sql语句操作,这样只要两个数据库的初态是一样的,就能一直同步。

双机热备的实现需要MySQL的版本高于3.2.。另外由于这种备份是基于MySQL二进制日志实现,所以主从服务器上的MySQL版本最好能够一样,至少从服务器的MySQL版本不可以低于主服务器的数据库版本。因为MySQL不同的版本之间二进制日志可能不一样。



2.节点信息

IP

主机名

角色

192.168.23.2

risen02

主备

192.168.23.3

risen03

主备


3.开始配置



3.1.创建同步账户并授权

  • 在risen02的MySQL执行命令
grant replication slave on *.* to 'risen'@'192.168.23.3' identified by '123456';
flush privileges;
  • 在risen03的MySQL执行命令
grant replication slave on *.* to 'risen'@'192.168.23.2' identified by '123456';
flush privileges;



3.2.修改MySQL配置文件

  • 修改risen02的MySQL配置文件my.cnf,添加以下内容:
[mysqld]
server-id = 1
log-bin=mysql-bin
binlog-do-db = test
log-slave-updates
sync_binlog = 1
auto_increment_offset = 1
auto_increment_increment = 2
replicate-do-db = test
replicate-ignore-db = mysql,information_schema
  • 修改risen03的MySQL配置文件my.cnf,添加以下内容:
[mysqld]
server-id = 2
log-bin=mysql-bin
replicate-do-db = test
replicate-ignore-db = mysql,information_schema,performance_schema
binlog-do-db = test
binlog-ignore-db = mysql
log-slave-updates
sync_binlog = 1
auto_increment_offset = 2
auto_increment_increment = 2

(上述配置根据实际需求进行配置)

  • 参数说明
Server-id
ID值唯一的标识了复制群集中的主从服务器,因此它们必须各不相同。Master_id必须为1到232-1之间的一个正整数值,slave_id值必须为2到232-1之间的一个正整数值。
Log-bin
表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提。
Binlog-do-db
表示需要记录二进制日志的数据库。如果有多个数据可以用逗号分隔,或者使用多个binlog-do-dg选项。
Binglog-ingore-db
表示不需要记录二进制日志的数据库,如果有多个数据库可用逗号分隔,或者使用多binglog-ignore-db选项。
Replicate-do-db
表示需要同步的数据库,如果有多个数据可用逗号分隔,或者使用多个replicate-do-db选项。
Replicate-ignore-db
表示不需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db选项。
Master-connect-retry
master-connect-retry=n表示从服务器与主服务器的连接没有成功,则等待n秒(s)后再进行管理方式(默认设置是60s)。如果从服务器存在mater.info文件,它将忽略些选项。
Log-slave-updates
配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步。



3.3分别重新启动MySQL服务

  • risen02和risen03分别执行命令:
service mysql restart

MySQL双机热备_mysql

MySQL双机热备_服务器_02


3.4分别查看MySQL主节点状态

  • risen02的MySQL的主节点

MySQL双机热备_数据库_03

  • risen03的MySQL的主节点

MySQL双机热备_mysql_04

分别记下file和position两个选项


3.5.分别在服务器上用change master to 指定同步位置

(注意master_log_file和master _log_pos均是上面查询状态显示出来的,一定要填对)

  • risen02的MySQL执行命令:
change master to master_host='192.168.23.3',master_user='risen',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
  • risen03的MySQL执行命令:
change master to master_host='192.168.23.2',master_user='risen',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;


3.6.分别重启从服务线程

  • risen02和risen03的MySQL分别执行命:
mysql>start slave;


3.7.分别查看从节点状态

  • risen02和risen03的MySQL分别执行命令:
mysql>show slave status\G;
  • 查看risen02从节点状态:

MySQL双机热备_mysql_05

  • 查看risen03从节点状态:

MySQL双机热备_数据库_06

红色框中两个配置项分别都是YES,则证明搭建成功。


3.8.效果验证

  • 在risen02的test库中新建表info

MySQL双机热备_数据库_07

  • 查看risen03:

MySQL双机热备_MySQL_08


反向验证

  • 进入risen03的test库中并插入一条数据到info表

MySQL双机热备_服务器_09

  • 查看risen02中的info表是否存在risen03插入的数据

MySQL双机热备_数据库_10

数据存在,证明MySQL的双击热备到此搭建成功。

标签:热备,db,master,MySQL,服务器,双机,risen02,risen03
From: https://blog.51cto.com/u_13717475/5754614

相关文章

  • MYSQL-->客户端常用工具指令
    mysql这个mysql指的是mysql的客户端管理工具语法mysql选项数据库选项内容-u指定用户名-p指定密码-h指定ip地址-P指定端口-e执行SQL语句并退出-e选项可......
  • Mysql使用load命令报错
    问题1:ERROR1290(HY000):TheMySQLserverisrunningwiththe--secure-file-privoptionsoitcannotexecutethisstatement需要在my.cnf文件里面添加[mys......
  • MYSQL-->InnoDB引擎底层原理
    逻辑存储结构逻辑存储结构图表空间表空间文件在Linux下存放在/var/lib/mysql文件中的xxx.ibd文件就是表空间文件表空间文件用来存储,记录,索引等数据。段段分......
  • Mysql----锁
    参考:https://www.bilibili.com/video/BV1Kr4y1i7ru?p=121&vd_source=c85b4a015a69e82ad4f202bd9b87697f概述介绍锁是计算机协调多个进程或者线程并发访问某一资源的机制......
  • Mysql创建索引
    创建索引方式一:建立表的时候创建CREATETABLE`student`(`ID`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(20)DEFAULTNULL,`grade`varchar(20)DE......
  • mysql用户授权
    查看mysql库user表结构>descmysql.user;查看mysql用户和密码>selectUser,Host,authentication_stringfrommysql.user;查看crm_user'@'10.%.%.%'授权>sh......
  • Unity---2020版本连接Mysql报错
    连接Mysql需要Mysql.data打包发布后无法连接数据库需要导入I18N.dll,I18N.CJK.dll,I18N.West.dll导入System.Data.dll2020版本以上不需要导入System.Data.dll如......
  • MySQL——锁
    一、锁概述锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资......
  • MySQL——锁的类型以及加锁原理、死锁
    前言使用insertintoonduplicatekeyupdate语句进行插入去重,但是在测试过程中发现了死锁现象:ERROR1213(40001):Deadlockfoundwhentryingtogetlock;tryre......
  • MySQL——MVCC--多版本并发控制机制
    前言以下的分析均在mysql的InnoDB引擎下。假设此时事务A与事务B同时执行。一、定义:MVCC(Multi-VersionConcurrencyControl,多版本并发控制)一种并发控制机制,在数据库中用......