一,环境需求

**安装前准备

操作系统环境:Centos 7.2

[root@localhost soft]# rpm -qa | grep mariadb

[root@localhost soft]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

[root@localhost soft]# rpm -e --nodeps mariadb-5.5.60-1.el7_5.x86_64

[root@localhost soft]# rpm -e --nodeps mariadb-server-5.5.60-1.el7_5.x86_64

1、解决依赖包并下载源码包至/soft/目录下

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison
cd /soft/
wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -zxvf boost_1_59_0.tar.gz #解压
mv boost_1_59_0 /usr/local/boost  #移动至/usr/local/boost/目录下
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
tar -zxvf mysql-5.7.17.tar.gz

2、新建MySQL用户和用户组,创建/data/mysql 目录存放mysql数据

groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
mkdir -pv /data/mysql

3、预编译及编译安装

cd mysql-5.7.17
[root@node03 mysql-5.7.17]#
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock\
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

注:

DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径

DMYSQL_DATADIR=/data/mysql:数据文件存放位置

DSYSCONFDIR=/etc:my.cnf路径

DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎

DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎

DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径

DMYSQL_TCP_PORT=3306:端口

DENABLED_LOCAL_INFILE=1:允许从本地导入数据

DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区

DEXTRA_CHARSETS=all:安装所有的字符集

DDEFAULT_CHARSET=utf8:默认字符

DWITH_EMBEDDED_SERVER=1:嵌入式服务器

[root@node03 mysql-5.7.17]# make
[root@node03 mysql-5.7.17]#make install #编译安装
[root@mysqltest ~]# chown -R root.mysql /usr/local/mysql/
[root@mysqltest ~]# chown -R root.mysql /data/mysql/

错误

错误1:CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
CMake Error at cmake/os/Linux.cmake:41 (MESSAGE):Unsupported compiler!
Call Stack (most recent call first):CMakeLists.txt:162 (INCLUDE)解决办法:# yum groupinstall -y "Development Tools" "Server Platform Development" "Desktop Platform Development"错误2:CMake Error at cmake/readline.cmake:64 (MESSAGE):Curses library not found.  Please install appropriate package,解决办法: [root@node02 ~]# yum install -y ncurses-devel.x86_64 

后续

初始化数据库
[root@mysql57 ~]#/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

错误:如果datadir目录有文件,则会报以下错:

[root@localhost mysq]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

2019-02-15T05:55:08.647604Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2019-02-15T05:55:08.647656Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.

2019-02-15T05:55:08.647660Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.

2019-02-15T05:55:08.649468Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

2019-02-15T05:55:08.649496Z 0 [ERROR] Aborting

所以要把data directory文件删除掉再执行,如果删除目录下的文件还是报同样的错,可以试试把目录删除掉,再创建一个,然后授权:

复制MySQL配置文件
[root@node02 ~]# cd /usr/local/mysql/support-files/
[root@node02 support-files]# cp my-default.cnf /etc/my.cnf
[root@node02 support-files]# vim /etc/my.cnf[mysqld]...basedir=/usr/local/mysqldatadir=/data/mysqlport=3306server_id=121socket=/data/mysql/mysql.sock
启动mysql服务
[root@mysqltest data]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@mysqltest data]# ss -antp | grep mysqld
LISTEN     0      80          :::3306                    :::*                   users:(("mysqld",pid=63756,fd=20))
[root@mysqltest data]#
修改环境变量PATH
[root@mysqltest data]# cat /etc/profile.d/mysql.sh export PATH=$PATH:/usr/local/mysql/bin[root@mysqltest data]# source /etc/profile.d/mysql.sh

[root@mysqltest data]# mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Www.1.com';
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
设置源码mysql服务开机自启动
# vim /etc/rc.d/rc.local
/usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@node02 bin]# chmod a+x /etc/rc.d/rc.local
复制mysql服务控制脚本  [root@db_server_01 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db_server_01 ~]# chmod a+x /etc/init.d/mysqld[root@db_server_01 ~]# chkconfig --add mysqld                    >>>将mysqld服务添加为系统服务
[root@db_server_01 ~]# chkconfig --level 2345 mysqld on         >>>设置mysqld服务开机自启动 2345:linux启动模式   3:字符模式5:图形模式2:字符,无网络4:预留

编辑/etc/my.cnf文件添加在[mysqld]版块下添加如下变量,添加后重启服务。

#开启,并且可以将mysql-bin改为其它的日志名
log-bin=mysql-bin#添加id号,如果做主从,就不能一样
server-id=1#超过200M将生产新的文件,最大和默认值是1GB
max_binlog_size=1G#此参数表示binlog使用最大内存的数,默认1M。
max_binlog_cache_size=1M#此参数表示binlog日志保留的时间,默认单位是天。
expire_logs_days=7

View Code

二,准备脚本

前戏mkdir -pv /ops/{bak,log}

1.全量脚本:mybak-all.sh,对脚本变量部分进行配置

#!/bin/bash#使用:./xx.sh -uroot -p'123456',使用前修改脚本进行变量配置#过程:备份并刷新binlog,将最新的binlog文件名记录并整体压缩打包#恢复:先进行全量备份,再对根据tim-binlog.txt中的记录,进行逐个恢复#提示:最多每分钟执行一次,否则会覆盖同分钟内的文件,可以修改脚本来改善#      出现问题会退出,可以到指定的日志目录查看日志输出#      同年的tar包超过指定天数的会删除掉#[变量]begin_time=`date +%F-%H-%M-%S`my_sql="/usr/local/mysql/bin/mysql"bak_sql="/usr/local/mysql/bin/mysqldump"binlog_dir=/data/mysql/bak_dir=/ops/baklog_dir=/ops/log/mybak-all.log
#保存的天数,4周就是28天save_day=28#[自动变量]#当前年月date_nian=`date +%Y-`
#所有天数的数组save_day_zu=($(for i in `seq 1 ${save_day}`;do date -d -${i}days "+%F";done))#开始/usr/bin/echo >> ${log_dir}/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:开始全备份" >> ${log_dir}#检查${my_sql} $* -e "show databases;" &> /tmp/info_error.txtif [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:登陆命令错误" >> ${log_dir}/usr/bin/cat /tmp/info_error.txt #如果错误则显示错误信息exit 1fi#移动到目录cd ${bak_dir}bak_time=`date +%F-%H-%M`bak_timetwo=`date +%F`#备份${bak_sql} $* --all-databases --flush-privileges --single-transaction --flush-logs --triggers --routines --events --hex-blob > mybak-all-${bak_time}.sqlif [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) error:备份失败"/usr/bin/echo "time:$(date +%F-%H-%M-%S) error:备份失败" >> ${log_dir}/usr/bin/cat /tmp/bak_error.txt #如果错误则显示错误信息exit 1elsebin_dian=`tail -n 1 ${binlog_dir}/mysql-bin.index`echo "${bin_dian}" > ${bak_time}-binlog.txtfi#压缩if [[ -f mybak-all-${bak_time}.tar.gz ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:压缩包mybak-section-${bak_time}.tar.gz 已存在" >> ${log_dir}/usr/bin/rm -irf mybak-all-${bak_time}.tar.gz ${bak_sql}-binlog.txtfi/usr/bin/tar -cf mybak-all-${bak_time}.tar.gz mybak-all-${bak_time}.sql ${bak_time}-binlog.txtif [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) error:压缩失败" >> ${log_dir}exit 1fi#删除sql文件/usr/bin/rm -irf mybak-all-${bak_time}.sql ${bak_time}-binlog.txtif [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:删除sql文件失败" >> ${log_dir}exit 1fi#整理压缩的日志文件for i in `ls | grep .tar.gz$`doecho $i | grep "^mybak-all.*tar.gz$" &> /dev/nullif [[ $? -eq 0 ]];thena=`echo ${i%%.tar.gz}`b=`echo ${a:(-16)}`c=`echo ${b%-*}`d=`echo ${c%-*}`#看是否在数组中,不在则删除echo ${save_day_zu[*]} |grep -w $d &> /dev/nullif [[ $? -ne 0 ]];then[[ "$d" != "$bak_timetwo" ]] && rm -rf $ifielse#不是当月的,其他类型压缩包,跳过continuefidone#结束last_time=`date +%F-%H-%M-%S`/usr/bin/echo "begin_time:${begin_time}   last_time:${last_time}" >> ${log_dir}/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:全备份完成" >> ${log_dir}/usr/bin/echo >> ${log_dir}

2.增量脚本:mybak-section.sh

#!/bin/bash#使用:./xx.sh -uroot -p'123456',将第一次增量备份后的binlog文件名写到/tmp/binlog-section中,若都没有,自动填写mysql-bin.000001#过程:增量先刷新binlog日志,再查询/tmp/binlog-section中记录的上一次备份中最新的binlog日志的值#      cp中间的binlog日志,并进行压缩。再将备份中最新的binlog日志写入。#恢复:先进行全量恢复,再根据全量备份附带的time-binlog.txt中的记录逐个恢复。当前最新的Binlog日志要去掉有问题的语句,例如drop等。#提示:最多每分钟执行一次,否则会覆盖同分钟内的文件,可以修改脚本来改善#      出现问题会退出,可以到指定的日志目录查看日志输出#      同年的tar包超过指定天数的会删除掉#[变量]begin_time=`date +%F-%H-%M-%S`my_sql="/usr/local/mysql/bin/mysql"bak_sql="/usr/local/mysql/bin/mysqldump"binlog_dir=/data/mysql/binlog_index=${binlog_dir}/mysql-bin.indexbak_dir=/ops/baklog_dir=/ops/log/mybak-section.log#保存的天数,4周就是28天save_day=7#[自动变量]#当前年date_nian=`date +%Y-`#所有天数的数组save_day_zu=($(for i in `seq 1 ${save_day}`;do date -d -${i}days "+%F";done))#开始/usr/bin/echo >> ${log_dir}/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:开始增量备份" >> ${log_dir}#检查${my_sql} $* -e "show databases;" &> /tmp/info_error.txtif [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:登陆命令错误" >> ${log_dir}/usr/bin/cat /tmp/info_error.txt #如果错误则显示错误信息exit 1fi#移动到目录cd ${bak_dir}bak_time=`date +%F-%H-%M`bak_timetwo=`date +%F`#刷新${my_sql} $* -e "flush logs"if [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) error:刷新binlog失败" >> ${log_dir}exit 1fi#获取开头和结尾binlog名字last_bin=`cat /tmp/binlog-section`next_bin=`tail -n 1 ${binlog_dir}/mysql-bin.index`echo ${last_bin} |grep 'mysql-bin' &> /dev/nullif [[ $? -ne 0 ]];thenecho "mysql-bin.000001" > /tmp/binlog-section #不存在则默认第一个last_bin=`cat /tmp/binlog-section`fi#截取需要备份的binlog行数a=`/usr/bin/sort ${binlog_dir}/mysql-bin.index | uniq | grep -n ${last_bin} | awk -F':' '{print $1}'`b=`/usr/bin/sort ${binlog_dir}/mysql-bin.index | uniq | grep -n ${next_bin} | awk -F':' '{print $1}'`let b--#输出最新节点/usr/bin/echo "${next_bin}" > /tmp/binlog-section#创建文件rm -rf mybak-section-${bak_time}/usr/bin/mkdir mybak-section-${bak_time}for i in `sed -n "${a},${b}p" ${binlog_dir}/mysql-bin.index  | awk -F'./' '{print $2}'`doif [[ ! -f ${binlog_dir}/${i} ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) error:binlog文件${i} 不存在" >> ${log_dir}exit 1ficp -rf ${binlog_dir}/${i} mybak-section-${bak_time}/if [[ ! -f mybak-section-${bak_time}/${i} ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) error:binlog文件${i} 备份失败" >> ${log_dir}exit 1fidone#压缩if [[ -f mybak-section-${bak_time}.tar.gz ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:压缩包mybak-section-${bak_time}.tar.gz 已存在" >> ${log_dir}/usr/bin/rm -irf mybak-section-${bak_time}.tar.gzfi/usr/bin/tar -cf mybak-section-${bak_time}.tar.gz mybak-section-${bak_time}if [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) error:压缩失败" >> ${log_dir}exit 1fi#删除binlog文件夹/usr/bin/rm -irf mybak-section-${bak_time}if [[ $? -ne 0 ]];then/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:删除sql文件失败" >> ${log_dir}exit 1fi#整理压缩的日志文件for i in `ls | grep "^mybak-section.*tar.gz$"`doecho $i | grep ${date_nian} &> /dev/nullif [[ $? -eq 0 ]];thena=`echo ${i%%.tar.gz}`b=`echo ${a:(-16)}` #当前日志年月日c=`echo ${b%-*}`d=`echo ${c%-*}`#看是否在数组中,不在其中,并且不是当前时间,则删除。echo ${save_day_zu[*]} |grep -w $d &> /dev/nullif [[ $? -ne 0 ]];then[[ "$d" != "$bak_timetwo" ]] && rm -rf $ifielse#不是当月的,其他类型压缩包,跳过continuefidone#结束last_time=`date +%F-%H-%M-%S`/usr/bin/echo "begin_time:${begin_time}   last_time:${last_time}" >> ${log_dir}/usr/bin/echo "time:$(date +%F-%H-%M-%S) info:增量备份完成" >> ${log_dir}/usr/bin/echo >> ${log_dir}

周六晚3点i分进行全量备份 周一到周六每天进行增量备份, 全量保存4周 增量保存近一周的每天数据

crontab -e 添加计划任务。

1 3 * * 6 /bin/bash /shell/mybak-all.sh -uroot -p'Www.1.com'
1 2 * * * /bin/bash /shell/mybak-section.sh -uroot -p'Www.1.com'

三.容灾测试

准备

按照第一步,环境需求中,将mysql开启binlog并重启

vim /shell/mybak-all.sh,将全量脚本复制到其中,并 chmod+ x /shell/mybak-all.sh 添加执行权限。

vim /shell/mybak-section.sh,将增量脚本复制到其中,并 chmod +x /shell/mybak-section.sh 添加执行权限

创建测试数据库
create database test;

切换数据库
use test;

创建测试表
create table s1(id int AUTO_INCREMENT PRIMARY KEY,name char(20),age int);

用 vim /root/bin/testsql.sh 命令创建一个数据插入脚本,随机插入一千条数据用于测试。

#!/bin/bash
ku=one
biao=s1zi() {
zu=(q w e r t y u i o p a s d f g h j k l z x c v b n m)for i in `seq 1 5`
doa=`echo $[RANDOM%24]`echo -n ${zu[a]}
done
}for i in `seq 1 1000`
dob=`zi`mysql -uroot -p'Www.1.com' -e "use test;insert into s1(name,age) values('${b}',${i});"
done

执行脚本
bash /shell/testsql.sh

用如下命令检查表的条目数是否是1000条
mysql -uroot -p'Www.1.com' -e "use test;select count(*) from s1;"

测试

第一次:
更改时间
date -s 2016-04-04

执行全量脚本
bash /shell/mybak-all.sh -uroot -p'Www.1.com'

再执行增量脚本
bash /shell/mybak-section.sh -uroot -p'Www.1.com'

查看是否有2个tar包。可以看到tar包
ls /ops/bak
mybak-all-2016-04-04-00-00.tar.gz
mybak-section-2016-04-04-00-00.tar.gz

执行脚本插入1000条数据
bash /shell/testsql.sh

用如下命令检查表的条目数是否是2000条
mysql -uroot -p'Www.1.com' -e "use test;select count(*) from s1;"

第二次:
更改时间
date -s 2016-04-05

执行全量脚本
bash /shell/mybak-all.sh -uroot -p'Www.1.com'

再执行增量脚本
bash /shell/mybak-section.sh -uroot -p'Www.1.com'

用查看是否有4个tar包。可以看到如下
ls /ops/bak
mybak-all-2016-04-04-00-00.tar.gz / mybak-section-2016-04-04-00-00.tar.gz
mybak-all-2016-04-05-00-00.tar.gz / mybak-section-2016-04-05-00-00.tar.gz

执行脚本插入1000条数据
bash /shell/testsql.sh

用如下命令检查表的条目数是否是3000条
mysql -uroot -p'Www.1.com' -e "use test;select count(*) from s1;"

第三次
更改时间
date -s 2016-04-06

执行全量脚本
bash /shell/mybak-all.sh -uroot -p'Www.1.com'

再执行增量脚本
bash /shell/mybak-section.sh -uroot -p'Www.1.com'

用查看是否有4个tar包。可以看到如下
ls /ops/bak
mybak-all-2016-04-04-00-00.tar.gz / mybak-section-2016-04-04-00-00.tar.gz
mybak-all-2016-04-05-00-00.tar.gz / mybak-section-2016-04-05-00-00.tar.gz
mybak-all-2016-04-06-00-00.tar.gz / mybak-section-2016-04-06-00-00.tar.gz

执行脚本插入1000条数据
bash /shell/testsql.sh

用如下命令检查表的条目数是否是4000条
mysql -uroot -p'Www.1.com' -e "use test;select count(*) from s1;"

误删除

删除:
登陆mysql服务器
mysql -uroot -p’Www.1.com’

删除test数据库,用来模拟误操作
drop database test;

恢复第一步:准备
移动到备份所在的目录
cd /ops/bak

解开最近时间点的全量备份包,最近时间是2016-04-06
tar -xf mybak-all-2016-04-06-00-00.tar.gz

解压后可以看到 mybak-all-2016-04-06-00-00.sql 和 2016-04-06-00-00-binlog.txt

其中mybak-all-2016-04-06-00-00.sql 是sql语句,用于恢复某个时间点的全部内容,如果只误操作某个库,可以单独恢复某个库。2016-04-06-00-00-binlog.txt中记录了全备过程中刷新的Binlog文件名。

解压增量备份的文件夹 ,因为这2个脚本是先后执行的,所以不需要解压6号前的,只解压6号及以后的。
tar -xf mybak-section-2016-04-06-00-00.tar.gz

解压后可以看到 mysql-bin.000008 和 mysql-bin.000009 2个binlog日志

恢复第二步:全备份恢复
导入数据进去
mysql -uroot -p'Www.1.com' < mybak-all-2016-04-06-00-00.sql

用如下命令检查表的条目数是否是3000条,6号备份完成后,才添加的最后1000条。
mysql -uroot -p'Www.1.com' -e "use test;select count(*) from s1;"

恢复第三步:增量恢复
查看应该从哪个binlog文件恢复。当前获得 ./mysql-bin.000014
cat 2016-04-06-00-00-binlog.txt

将 mybak-section-2016-04-06-00-00 文件夹中的 mysql-bin.000014 恢复,因为操作有问题的binlog日志在15中,14日志可以直接用于恢复
mysqlbinlog mybak-section-2016-04-06-00-00/ysql-bin.000014 | mysql -uroot -p'Www.1.com'

检查表的条目数是否是3000条,因为在写入3000条后,mysqldmp全备刷新了一下binlog,这个最新的是14,而还没有写入任何东西时便执行增量备份了,刷新了一下binlog,最新的是15,这时候才导入了最新的1000条。如果是持续的在写入,恢复14后会有数据变化。
mysql -uroot -p'Www.1.com' -e "use test;select count(*) from s1;"

在mysql数据目录/ops/server/mysql/data/下找到mysql-bin.000015
找出binlog日志中有删除数据库语句的行数,当前为728
mysql -uroot -p'Www.1.com' -e "show binlog events in 'mysql-bin.000015'\G" | grep -n "drop database "

找出728前后几行的内容,可以看到出现问题的pos点为5519,恢复到5519之前的数据即可。
mysql -uroot -p'Www.1.com' -e "show binlog events in 'mysql-bin.000015'\G" | sed -n '715,730p'

进行恢复,stop-position是指定恢复截止的pos点。
mysqlbinlog --stop-position=5519 mysql-bin.000015 | mysql -uroot -p'Www.1.com'

检查表的条目数是否是4000条
mysql -uroot -p'Www.1.com' -e "use test;select count(*) from s1;"

报错:
[root@localhost mysql]#  mysql -u root -pEnter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysqld.sock-DENABLED_LOCAL_INFILE=1' (2)解决方法:[root@localhost mysql]# mv mysqld.sock mysqld.sock-DENABLED_LOCAL_INFILE=1

转载于:https://www.cnblogs.com/charon2/p/10382140.html

mysql容灾备份脚本相关推荐

  1. mysql 编程 备份_mysql 容灾备份

    本文将为您描述mysql 容灾备份,具体完成步骤: 跨服务器备份: 服务器A:192.168.5.193 测试数据库TestDB 服务器B:192.168.5.194 目标:将服务器A上的测试数据库定 ...

  2. mysql数据库容灾备份软件_mysql 容灾备份

    跨服务器备份: 服务器A:192.168.5.193 测试数据库TestDB 服务器B:192.168.5.194 目标:将服务器A上的测试数据库定时备份到服务器B中 需要技术:mysqldump + ...

  3. 数据库备份方案及容灾备份(Mysql,SqlServer,Oracle)

    备份文件目录结构 备份文件总目录databak: databak/Installation environment--环境备份目录 databak/project/package--项目部署包备份目录 ...

  4. 重庆市公安局北碚分局所需容灾备份设备及软件采购

      项目编号:BBZC12-106-1 项目名称:重庆市公安局北碚分局所需容灾备份设备及软件采购 重庆市北碚区公共资源综合交易中心 二〇一二年六月二十五日 第一部分 招标邀请书 重庆市北碚区公共资源综 ...

  5. 谈谈双活业务中心和异地容灾备份设计

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 今天谈下多数据中心和异地容灾备份方面的内容.在前面一篇文章里面我详细谈到过一个软件业务系统的高可用性设计 ...

  6. 佛山市住房公积金数据异地容灾备份系统

    一.       项目详细内容和要求 1.1.      项目介绍 佛山市住房公积金管理中心经过多年来持续的发展,实现了一市五区公积金业务的统一管理.特别在新系统启用后,中心以及各管理部的公积金数据实 ...

  7. 博罗县房产管理局应用级本地容灾备份系统采购项目

    项目技术规格.参数及要求:  (一)采购清单 序号 名称 配置 数量 单位 1 服务器 CPU:2 *E5-2650 v3 内存:4*16G 硬盘:4 块300GB 6G SAS 10K 2 台 2 ...

  8. mysql容灾方案_mysql 架构 ~异地容灾

    一 简介 我们来探讨下多机房下的mysql架构 二 目的: 首先要清楚你的目的 1 实现异地机房的容灾备份 2 实现异地机房的双活 三 叙说 1 实现异地机房的容灾备份 目的 只是将数据备份到异地,当 ...

  9. 医疗行业容灾备份解决方案

    医疗行业信息化 随着计算机技术的发展和国家金卫工程的持续展开,基于互联网的医疗信息系统建设在全国各地医疗单位大量实现.十三五期间医疗信息技术不断发展,医疗信息化系统也逐渐成为了医疗行业的业务服务支撑体 ...

最新文章

  1. 个人销售建筑服务器,建筑个人云服务器
  2. excel公式编辑器_职场办公技巧—Word公式编辑器怎么用
  3. gdb相关(栈和寄存器)
  4. 动态生成能够局部刷新的验证码【AJAX技术】---看了不懂赔你钱
  5. 通知栏管理NotificationListenerService
  6. 【2017年第1期】基于征信数据观中国近10年产业间信贷资源的调整路径
  7. Win7 64位系统,使用(IME)模式VS2010 编写 和 安装 输入法 教程(1)
  8. 机器学习系列------1. GBDT算法的原理
  9. _stdcall与_cdecl区别
  10. ppt加html链接,ppt制作中如何添加超链接(完整版).doc
  11. Git使用的奇技淫巧,看这篇就够了!
  12. 玩转#ChatGPT之“用Chat GPT 做出行攻略”
  13. Q1营收不及预期,高通还能带着“标准”称霸5G吗?
  14. 快速设置电脑自动关机
  15. win7设置定时锁定计算机,Windows7电脑屏幕如何设置不自动锁屏
  16. 不只是休闲:关于体感游戏的一些思考(六)--- 飞行
  17. 英语SouthRedAgate南红玛瑙southredagate单词
  18. 最容易上手,也最有用的炒股绝招-3年翻N倍!!
  19. 11、pytest -- 测试的参数化
  20. android跳转小程序 bad_param

热门文章

  1. 怎么自动选中select中所有option
  2. 如何在程序中嵌入FOP
  3. Sequelize Unknown column 'createdAt' in 'field list'?
  4. Less(v3.9.0)使用详解—变量
  5. IBM推出跨境支付区块链网络,企业级区块链技术进一步升级
  6. mysql中不能update与safe update mode 有关
  7. 使用VS2010编译64的Geos库
  8. HttpHandler解析并展示PDF文档内容
  9. python 是否可以一键修图_ps如何快速批量修图?
  10. 高通驱动9008安装_小米10/Redmi K30 Pro系列已支持GPU驱动独立更新,还能双版本切换...