精华内容
下载资源
问答
  • 双机备份方案

    2016-07-17 22:05:51
    双机备份方案
  • 安装完mysql之后,有了新的需求,就是需要有一台服务器用来做数据备份使用,以达到容灾的目的,这样需要怎么做呢?还有我们需要进行多点访问来减小单点压力的时候又要怎么办呢?这个时候我们就引入了主从复制和双机...

    安装完mysql之后,有了新的需求,就是需要有一台服务器用来做数据备份使用,以达到容灾的目的,这样需要怎么做呢?还有我们需要进行多点访问来减小单点压力的时候又要怎么办呢?这个时候我们就引入了主从复制和双机热备的概念了。

    其实从实现上来讲,双机热备就是我们做了两个机器的主从互备。下面我们从原理上开始说,这次试用的mysql版本依旧是5.7.23,在网上看配置方法后,感觉和5.5以来的版本似乎都没有什么差别,在此提示。

    一、主从复制原理

    主从复制的根本操作就是把从主服务器上所执行过的sql在从机上再执行一遍,只要两个机器的数据库初态(数据库结构,数据,配置)是一样的,那么我们开启主从复制之后就能保证他们一直都是一样的状态。这些都是mysql自己实现的,我们就配置一下就可以了。

    首先看下面一张图:

    9676b41708c9b2a4c6f55f66e99e47b6.png

    从图中我们可以看出来了,主服务器需要做的事情非常简单的,就只是把执行的sql语句存储到二进制文件binary-log中,而从服务器需要做的事情比较多,而且还得使用两个线程进行整个事件的监听和处理。

    我们的主从复制一共分为三步:

    master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events。

    slave将master的binary log events拷贝到它的中继日志(relay log)。

    slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的。

    基本原则

    由于主从复制的一些特性,为了保证数据一一致,所以这里有些原则需要遵守:

    1. 每个slave只有一个master

    2. 每个slave只能有一个唯一的服务器ID

    3. 每个master可以有多个salve

    二、搭建主从服务

    前提:

    1、两台装有相同版本mysql的服务器,分别是——M:192.168.65.135,S:192.168.65.136。

    2、都没有配置过主从的集群。

    3、防火墙3306端口开放(使用的默认端口)。

    4、两台服务器的数据表结构,配置都必须是一样的。

    (一)、主服务器设置

    1、创建一个从服务器访问需要使用的用户,并授权。

    我们登陆到主服务器的mysql上,并执行如下语句即可:

    CREATE USER 'slave'@'192.168.65.%' IDENTIFIED BY 'slave@123.com';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.65.%';

    2、修改my.cnf配置文件

    [mysqld]log-bin=mysql-binserver-id=1

    说明:

    1. log-bin:开启二进制日志,该日志是在事务提交时写日志文件的。默认大小是1G,后面加001,002这样的后缀顺加。

    2. server-id,唯一标识主机,mysql主从每个mysql实例配置都不一样就行。这个值默认是0,如果是0,主服务器拒绝任何从服务器的连接。

    其他配置(不是必须配置的):

    1、binlog-do-db=db_001 #配置需要同步的数据库,可以配置多个,如果没有此配置项则同步全部。

    2、binlog-ignore-db=mysql #配置不同步的数据库,可以配置多个。

    3、binlog_format = mixed #配置binlog的格式

    4、read-only = 0 #配置是否只读 0代表不只读,1代表只读

    5、auto-increament-increment = 10 #用于设定双主情况下自增列的ID冲突使用的,主要用来设置自增步长

    6、auto-increment-offset = 1 #表示这台服务器的序号,从1开始,不超过auto-increament-increment

    3、同步数据(非必须)

    我们做主从同步,在最开始的时候,必须保证主从上的数据表的结构和数据都是一样的,所以如果有数据不一样的情况,我们需要进行这一步。

    首先执行master的数据dump备份:

    mysqldump --all-databases --master-data -uroot -p > /tmp/dbdump.db

    然后我们在设定的目录下拿到dump备份后,复制到从机上进行还原:

    mysql -uroot -p < /tmp/dbdump.db

    这样就搞定了主机的配置以及数据的同步。

    (二)、从机配置

    从机的配置也很简单。

    1、配置my.cnf

    [mysqld]server-id=2

    binlog-do-db=db_001

    binlog-ignore-db=mysql

    skip-slave-start=true

    这样我们的从机就已经配置好了。

    2、修改UUID(非必须)

    如果你使用的是虚拟机,而且从机是从master主机克隆出来的,那么你就需要进行这一步的操作了。

    首先到我们mysql的数据库目录下:

    cd /var/lib/mysql

    然后我们会找到auto.cnf这个配置文件:

    d18952fddbb70ee93d4c868c5d41842f.png

    修改里面的uuid为一个不同的即可:

    f6c80c6f9176eae4b607850709378841.png

    (三)、配置运行

    由于我们的主从都已经修改过配置文件了,所以都需要重新启动一下:

    service mysqld restart

    然后我们才能进行接下来的配置。

    1、获取binlog的信息

    我们先到主(master)服务器上获取binlog的信息,在mysql的命令界面输入:

    show master status;

    ba00a446d53ff8f39431e4288f311b2a.png

    这里展示的就是我们当前主服务器使用的binlog的文件名,其中position是文件中偏移量,我们之后配置slave需要用到这些信息。

    2、配置从服务器认主

    我们需要在从服务器上配置需要连接的主服务器的信息,执行如下sql命令:

    CHANGE

    MASTER TOMASTER_HOST='192.168.65.135',

    MASTER_USER='slave',MASTER_PASSWORD='slave@123.com',

    MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=419;

    这里user和password就是我们第一步在主服务器上创建的用户名和密码,然后MASTER_LOG_FILE 就是我们上一步查看到的master在使用的binlog文件(这个文件在每次主服务器状态变化后都不同),MASTER_LOG_POS 就是binlog的偏移量,用于同步扫描使用。

    3、启动从服务

    最后我们在从服务器的mysql命令中输入:

    start slave;

    就可以启动我们的从服务器进行同步了。我们可以查看状态:

    show slave status\G;

    a1e2c4f482fa017daae16b09b9026823.png

    看到图中的两个yes,就表示我们的从服务器已经在完全运行了。

    现在我们可以在主服务器的数据库上做一个修改数据看看是否同步到从服务器的数据库上来证明可用性。

    三、双机热备实现

    我们实现双机热备,原理其实就是做两个机器的互相主从,我们把上述步骤主从对调,然后做一遍就能实现了双机热备了,实现图为:

    20969b0eecec22f2bfed06aa5ba85b66.png

    我们的两个节点互为主从,然后都可以接收读写的操作。

    如果只是单点的读的话,我们还需要设置Slave节点为readonly,即slave节点的 my.cnf 设置 read-only=1

    展开全文
  • 利用脚本实现oracle数据库双机备份,脚本写好了,双机备份很容易
  • oracl-双机备份

    2009-07-19 00:45:45
    企业及单位oracl-双机备份解决方案 oracl-双机备份解决方案
  • mysql数据库双机备份

    2012-02-17 14:35:42
    windows 环境下mysql 数据库双机备份方法的详细介绍。
  • 以前公司做的一个项目,用到oracle集群双机备份。IBM服务器厂家提供的公司的内部双机备份的操作文档,操作系统集群加上oracle数据库双机备份的详细配置安装说明。
  • ORACLE11g双机备份

    2010-11-09 21:50:13
    DATAGUARD备份,即ORACLE双机备份双机备份可以保证企业级数据库运行安全,其中一台服务器出现故障,备服务器可自动转至主服务器,而使客户端毫无察觉。
  • (2)备份服务器的设置: 1、请求订阅 (3)状态查询 主服务器的复制监视器 (4) 注意事项: Sql agpend帐户的设置 二、Mysql的实现 (1)主服务器的设置: 1、my.cnf设置 log-bin (建立事务日志) server-id = 51 (服务器...

    一、Sql Server的实现

    (1)主服务器的设置:

    1、数据发布

    快照发布 (复制不经常更改的数据,但数据更改量大时)

    事务发布 (维护事务的一致性,但其订阅服务器站点的自主性不如合并复制)

    合并发布 (使得用户可以自主使用和更新数据,复制拓扑中的所有站点都汇聚为相同的数据值)

    2、强制订阅

    3、distribution数据库与distributor_admin帐户

    分发服务器上的数据库,存储用于复制的数据,包括事务、快照作业、同步状态和复制历史信息。

    发布服务器和远程分发服务器之间的连接是链接服务器和远程服务器的混合体。此连接使用 distributor_admin 登录。

    (2)备份服务器的设置:

    1、请求订阅

    (3)状态查询

    主服务器的复制监视器

    (4) 注意事项:

    Sql agpend帐户的设置

    二、Mysql的实现

    (1)主服务器的设置:

    1、my.cnf设置

    log-bin (建立事务日志)

    server-id = 51 (服务器编号,数字且唯一)

    2、备份帐户建立:

    %mysql -uroot -p mysql

    mysql>grant file on *.* to bakusername@192.168.1.12 identified by 'password';

    3、文件说明:

    GameDB51-bin.001 (事务日志文件,可设置max_binlog_size,默认1GB)

    编码文件,需要专用工具查询,命令如下;

    %mysqlbinlog GameDB51-bin.840 | less

    # at 73 (事务ID)

    #021125 8:00:03 server id 51 Query thread_id=5 exec_time=0 error_code=0 (详细说明)

    use cg;

    SET TIMESTAMP=1038182403; (为该客户设置时间,还原时用来得到原来的时间标记,1970至现在的秒数)

    INSERT tbl_lock SET CdKey='xsxblizzard',ServerName='gmsv51', LoginTime=1038181087;

    GameDB51-bin.index (所有事务日志文件列表)

    GameDB51.joypark.com.cn.err (数据库系统错误日志)

    (2)备份服务器的设置:

    1、my.cnf设置

    log-slave-updates (启动日志复制功能)

    server-id = 52 (服务器编号,数字且唯一)

    master-host = 192.168.1.11 (主服务器的IP地址)

    master-port = 3306 (主服务器的数据库端口)

    master-user = bakusername (备份帐户名)

    master-password = password (备份帐户密码)

    2、master.info文件说明

    GameDB51-bin.001 (当前读取的事务日志文件名)

    698610956 (当前读取的事务ID)

    192.168.1.17 (主服务器的IP地址)

    bakusername (备份帐户名)

    password (备份帐户密码)

    3306 (主服务器的数据库端口)

    60 (重试秒数)

    3、查看日志

    %tail /home/mydb/*.err

    Slave: connected to master 'bakusername@192.168.1.11:3306', replication started in log 'GameDB51-bin.001' at position 73

    (3)状态查询

    主服务器执行:%mysqladmin -uroot -p processlist +-----+-------------+---------------+----+-------------+-------+----------------+------------------+

    | Id | User | Host | db | Command | Time | State | Info |

    +-----+-------------+---------------+----+-------------+-------+----------------+------------------+

    | 215 | bakusername | 192.168.1.12 | | Binlog Dump | 23830 | Writing to net | |

    +-----+-------------+---------------+----+-------------+-------+----------------+------------------+

    注:空闲时State标记为“Slave connection: waiting for binlog update”

    (4)常用命令及注意事项:

    1、关闭mysql

    %mysqladmin -uroot -p shutdown

    2、关闭与主服务器的连接

    %mysqladmin -uroot -p stop-slave

    %mysqladmin -uroot -p start-slave

    3、优化

    mysql在线优化时,会自动停止同步,优化结束后,需要手动开启同步。

    4、分割新的日志文件

    %mysqladmin -uroot -p flush-logs

    说明:%为shell提示符,mysql>为mysql提示符。

    展开全文
  • 企业数据实现局域网双机备份图解企业数据实现局域网双机备份图解
  • oracle数据双机备份

    2008-12-10 17:17:19
    oracle10g在win2003下的双机备份
  • 服务器数据如何才能实现双机备份呢?有二台服务器在同一网段内,组了内网。
  • MySql双机备份方法(备份Master数据库mysql到Slave中)【环境】操作系统:两台32位Windows7旗舰版Mysql版本:mysql-5.5.28-win32(低版本mysql在配置副库时有所区别)工具:mysql-gui-tools-5.0-r17-win32Master IP:...

    MySql双机热备份方法(备份Master数据库mysql到Slave中)

    【环境】

    操作系统:两台32位Windows7旗舰版

    Mysql版本:mysql-5.5.28-win32(低版本mysql在配置副库时有所区别)

    工具:mysql-gui-tools-5.0-r17-win32

    Master IP:192.168.1.4(主)

    Slave IP:192.168.1.15(副)

    MySQL安装路径:D:\Program Files\MySQL\MySQL Server 5.5

    【设置】

    分别另外添加用户:用户名:mysql,密码:mysql (grant all on *.* to ' mysql '@'%' identified by ' mysql ';);并将mysql数据库内的表user中的host列下的值改为%(或者设置为允许远程访问的主机的IP)

    在master(192.168.1.4)上测试slave(192.168.1.15) mysql用户是否可以远程登录,以及在slave (192.168.1.15)上测试master (192.168.1.4) mysql用户是否可以远程登录,如果不能正常登录,需查看数据库mysql数据库内user表内用户信息是否正确.(如果不能登录,也可能是防火墙问题导致)

    【配置】

    找到安装路径下的my.ini配置,并分别[mysqld]下添加以下内容:

    Master配置:

    [mysqld]

    server-id=1

    log-bin=bin_log

    binlog-do-db=mysql(需备份的数据库名称)

    重启master上的mysql服务,点击

    80a26d97402ed9732624b89122c67f52.png,输入密码进入,

    输入show master status命令后得

    df515aff66ace1c0f1221ebf4de06741.png

    记录下File、Position对应的值;

    Slave配置:

    [mysqld]

    server-id=2

    启动slave上mysql服务,点击进入,在命令行输入root用户密码后

    0f79f27f82fbdd728fc8db03811bb9c9.png

    再输入命令:

    change master to master_host='192.168.1.4', master_user='mysql', master_password='mysql’, master_log_file='bin_log.000001', master_log_pos=395;(此处的master_log_file、master_log_pos必须与主库信息相同)

    输入:slave start启动;

    输入:show slave status

    07db4a2d9c3a4b54a183419472833915.png

    当图中画线部分为“YES”时,表示主从同步正常。

    经测试:在主库内创建、添加数据,副库可正常进行备份。

    展开全文
  • VCS双机备份

    2018-10-10 17:01:23
    WIN2003系统环境下,创建VCS双机主从热备系统,详细手把手教程。
  • CentOS7中PotsgreSQL11双机备份

    根据搜集的资料安装测试并在安装测试过程中整理的文档,如有不足希望不吝赐教。


    目录

    ​​​​​​​一、环境介绍

    二、主节点配置

    1.修改配置文件

    2.创建超级用户

    3.基础备份

    三、配置备节点

    1.修改配置文件

    四、查询主备

    1.pg_controldata命令

    2.字典表pg_stat_replication

    3.进程信息识别

    4.通过pg函数


    一、环境介绍

    系统:两台CentOS7.5

    ip:172.17.0.84(主)、172.17.0.86(备)

    数据库版本:PotsgreSQL11

    主从流复制配置:https://www.cnblogs.com/yjf512/p/4499547.html

     

    二、主节点配置

    1.修改配置文件

    使用postgres用户:su - postgres

    进入data目录(实际目录可能不同):cd /var/lib/pgsql/11/data

    修改配置文件:vim postgresql.conf

    编辑文件内容,找到如下设置项并修改:

    wal_level = hot_standby		# 这个是设置主为wal的主机
    max_wal_senders = 1		# 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个
    wal_keep_segments = 500	  # 设置流复制保留的最多的xlog数目
    hot_standby = on
    logging_collector = on
    log_directory = 'log'
    log_filename = 'postgresql-%a.log’

    上边配置项部分需要取消注释,日志配置如果已经有,保持默认即可。修改完成后保存退出。

    2.创建超级用户

    登录数据库,在主节点数据库中创建一个超级用户,standby数据库会使用这个用户连接到主库上拖WAL日志。

    psql

    下面创建用户命令是在登录数据库后执行:

    create user standby SUPERUSER LOGIN password 'standby';

    3.基础备份

    开启备份功能

    psql -c "select pg_start_backup('backup0001')"

    使用scp命令将data目录下数据远程拷贝到备库data目录下:

    scp -r /var/lib/pgsql/11/data/* 172.17.0.86:/var/lib/pgsql/11/data/

    因为上面的命令会默认使用postgresql创建的用户postgres,因此此处使用了root用户发送,但是需要在发送完成后在备机上修改文件属组,直接递归将整个data目录的用户和组全部修改即可(chown -R postgres:postgres data/)。

    scp -r /var/lib/pgsql/11/data/* root@172.17.0.86:/var/lib/pgsql/11/data/

    关闭备份功能

    psql -c "select pg_stop_backup()"

    修改完成后重启主数据库。

     

    三、配置备节点

    1.修改配置文件

    修改data目录下postgresql.conf文件,把其中的hot_standby设置为on。

    拷贝示例文件/usr/pgsql-11/share/recovery.conf.sample到/var/lib/pgsql/11/data/目录下,然后改名成recovery.conf:

    mv recovery.conf.sample recovery.conf

    编辑(vim)recovery.conf修改相关的配置项为如下内容:

    standby_mode = 'on'
    primary_conninfo = 'host=172.17.0.84 port=5432 user=standby password=standby'

    修改完成后保存退出,然后重启从数据库。

     

    四、查询主备

    1.pg_controldata命令

    首先切换到postgres用户(已经切换忽略):su - postgres

    然后使用pg_controldata命令查看状态,这里需要注意的是,pg_controldata命令并不一定是在data目录下,也不一定可以直接使用,因此可以用find命令(find / -name pg_controldata)查找pg_controldata位置,然后再使用命令的完整路径查看。

    本次完整路径为:/usr/pgsql-11/bin/pg_controldata,执行命令查看:

    主机:

    备机:

    可以看到主机的cluster state是in production,备机的cluster state是in archive recovery。

    2.字典表pg_stat_replication

    在postgres用户下,登录数据库,然后使用下面查询语句:

    select pid,application_name,client_addr,client_port,state,sync_state from pg_stat_replication;

    在主机字典表中是能查到记录,备机中是查询不到的。如下:

    主机:

    备机:

    3.进程信息识别

    使用命令ps -ef|grep postgres查看进程,可以通过进程信息识别主备机。如下:

    主机:

    备机:

    4.通过pg函数

    在postgres用户下,登录数据库,然后使用下面查询语句:

    select pg_is_in_recovery();

    主机是f,备机是t。

    主机:

    备机:


    END

    展开全文
  • MySQL数据库双机备份1、mysql 数据库没有增量备份的机制当数据量太大的时候备份是一个很大的问题。还好 mysql 数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现 mysql ...
  • windows2003双机备份文档,windows2003特性对照表,20020625_PV220_cluster_config,HP570+msa1k+win2kads+ORACLE8I 做双机热备(zt)
  • MySQL的本地备份双机相互备份脚本:首先,我们需要修改脚本进行必要的配置,然后以root用户执行。◆1. 第一执行远程备份时先用 first参数.◆2. 本地备份用local参数◆3. 远程备份不用参数注意1注意:需要在另一主机...
  • WIN2008+SQL2008双机备份

    2011-11-02 19:14:08
    WIN2008+SQL2008双机备份,包含图形说明的
  • 图文并茂讲述如何设置双机备份的网众无盘系统,提高可用性。
  • ===复制主服务器中的所有数据,使之数据全部相同===主从服务器my.in中修改# Server Id,每台服务器必须是不同的server-id=133log-bin=binary_log# 需要复制的数据库binlog-do-db=testbinlog-do-db=test2===主服务器...
  • oracle双机备份

    2017-06-12 14:02:35
    通过定时任务来实现oracle定时备份
  • RHEL5 配置mysql双机备份环境:[root@station202 Server]# uname -aLinux station202.example.com 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 i686 i386 GNU/Linuxstation202作为主mysqlsta...
  • 微软Hyper-V虚拟机复制实现双机备份过程这个方案是通过hyper-v的虚拟机复制功能实现,该方案需要至少两台安装了hyper-v功能的服务器。只需在其中一台安装虚拟机系统,另一台虚拟机服务器作为副本接收服务器,部署...
  • 写道一、主从热备主数据库服务器:W服务器备份服务器:L服务器1.1 主服务器配置(W服务器上myql服务的配置)先配置W服务器上的mysql.ini信息,主要是在配置文件里[mysqld] 节点下添加如下三行代码log-bin= #二进制日志...
  • 本文详细讲述了怎样实现MySQL数据库双机备份。1、MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到...
  • 现代IT技术认为,一个成功系统中数据及作业的重要性已远超过硬件设备本身,在一套完善的...双机容错系统是由IBM公司提出的全套集群解决方案,结合IBM服务器产品的安全可靠性和集群技术的优点,为用户提供一个完善的系统。
  • MySQL的高可用1、MySQL数据库没有...2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有基本的原则就是作为从数据库的数据库版本可高于主服务器数据库的版本,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,271
精华内容 908
关键字:

双机备份