基于备份恢复搭建Mysql主从
基于备份恢复搭建ERP主从
一. 复制备份文件到目标环境
mkdir -p /var/lib/mysql
lvcreate -n lv_data -L 2048G DATAVG
mkfs.ext4 /dev/mapper/DATAVG-lv_data
mount /dev/mapper/DATAVG-lv_data /var/lib/mysql
mkdir -p /var/lib/mysql/fullbackup
mkdir -p /var/lib/mysql/increment
mkdir -p /var/lib/mysql/binlog
scp root@192.168.5.3:/bak/mysql/db005036/archive/fullbackup_2018-09-02.tar.gz /var/lib/mysql/fullbackup/
scp -r root@192.168.5.3::/bak/mysql/db005036/increment/2018-09-05 /var/lib/mysql/increment/
二. 安装数据库等基础软件
cd /usr/local/
tar zxf mysql-5.5.61-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.5.61-linux-glibc2.12-x86_64.tar mysql
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
三. 检查相关软件包
soft_check()
#检查Xtrabackup
{
echo "####################################################################################"
echo "$($Time) Check Installed SoftWare"
if dpkg -l|grep percona-xtrabackup-24;then
echo "">/dev/null
else
wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
apt-get update
apt-get install percona-xtrabackup-24 -y
Reval=$?
if [ ${Reval} -eq 0 ];then
echo "percona-xtrabackup-24 install sucess"
else
echo "\033[41;37m [ERROR] \033[0m install failure"
send_mes "percona-xtrabackup-24 install failure"
exit 1
fi
fi
#检测curl软件安装包
if dpkg -L curl >/dev/null 2>&1;then
echo "" >>/dev/null
else
apt-get update
apt-get install curl -y
fi
#检查qpress软件安装包
if which qpress;then
echo "" >/dev/null
else
wget http://www.quicklz.com/qpress-11-linux-x64.tar
tar xvf qpress-11-linux-x64.tar
cp qpress /usr/bin/
Reval=$?
if [ ${Reval} -eq 0 ];then
echo "qpress installl success"
else
echo "\033[41;37m [ERROR] \033[0m install failure"
send_mes "qpress install faillure"
fi
fi
}
四 数据库配置文件my.cnf
vim /etc/mysql/my.cnf
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/var/lib/mysql/
port = 3306
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
innodb_buffer_pool_size = 32G
innodb_additional_mem_pool_size = 64M
innodb_buffer_pool_instances = 8
innodb_log_files_in_group = 2
innodb_log_file_size = 512M
innodb_log_buffer_size = 128M
#innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_max_dirty_pages_pct = 75
innodb_adaptive_flushing = 1
innodb_read_io_threads = 16
innodb_write_io_threads = 16
innodb_purge_threads = 1
innodb_io_capacity = 5000
# cache parameter
key_buffer_size = 12G
sort_buffer_size = 1G
myisam_sort_buffer_size = 512M
thread_stack = 256K
thread_cache_size = 256
table_open_cache = 5000
thread_concurrency = 64
query_cache_type = 0
query_cache_size = 0
binlog_cache_size = 128K
binlog_stmt_cache_size = 32K
tmp_table_size = 1G
max_heap_table_size = 1G
read_buffer_size = 32M
read_rnd_buffer_size = 64M
# log parameter
relay-log= mysql-relay-bin
long_query_time = 10
server-id = 0590
log_bin = mysql-bin.log
binlog_format = ROW
expire_logs_days = 3
max_binlog_size = 100M
slow_query_log_file = mysql-slow.log
# other parameter
#character_set_server=utf8
interactive_timeout = 300
wait_timeout = 300
innodb_lock_wait_timeout = 90
lock_wait_timeout = 90
max_connections = 3000
max_allowed_packet = 128M
myisam_recover_options = BACKUP
tmpdir = /tmp
skip_name_resolve = ON
[mysqldump]
quick
quote-names
max_allowed_packet = 512M
五. 恢复还原数据库
innobackupex --decompress /var/lib/mysql/fullbackup && { find /var/lib/mysql/fullbackup -name '*.qp' -type f |xargs rm; }
innobackupex --decompress /var/lib/mysql/increment/2018-09-05 &&{ find /bak/mysql/db005036/increment/2018-09-05 -name '*.qp' -type f |xargs rm;}
innobackupex --apply-log --redo-only /var/lib/mysql/fullbackup
innobackupex --apply-log --redo-only /var/lib/mysql/fullbackup --incremental-dir=/var/lib/mysql/increment/2018-09-05
innobackupex --apply-log /var/lib/mysql/fullbackup
mv /var/lib/mysql/fullbackup/* /var/lib/mysql/
chmod +x /var/lib/mysql
mysqld_safe --defaults-file=/etc/mysql/my.cnf --user=mysql &
六. 恢复二进制文
root@yskp005090:/var/lib/mysql# cat xtrabackup_info
uuid = 9e8dd427-b065-11e8-83c2-204747922d3c
name =
tool_name = innobackupex
tool_command = --user=root --password=... --ftwrl-wait-threshold=60 --ftwrl-wait-timeout=120 --stream=xbstream --compress --extra-lsndir=/bak/mysql/inc_chkpoint/2018-09-05 /tmp --incremental --incremental-basedir=/bak/mysql/full_chkpoint/
tool_version = 2.4.8
ibbackup_version = 2.4.8
server_version = 5.5.46-0ubuntu0.12.04.2-log
start_time = 2018-09-05 00:02:26
end_time = 2018-09-05 01:11:53
lock_time = 0
binlog_pos = filename 'mysql-bin.030803', position '52434356'
innodb_from_lsn = 16312444798426
innodb_to_lsn = 16351713143746
partial = N
incremental = Y
format = xbstream
compact = N
compressed = compressed
encrypted = N
scp root@192.168.5.3:/bak/mysql/db005036/binlog/mysql-bin.030803 /var/lib/mysql/binglog/
mysqlbinlog --start-position=52434356 mysql-bin.030803 >source.sql
mysql -uroot -ppassword -e "source source.sql;"
--master服务器上
grant REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl01@'%' identified by '';
--slave服务器上
change master to master_host='192.168.5.36',master_user='',master_password='',master_log_file='mysql-bin.030804',master_log_pos=0;
- mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)
- MySql基于GTID主从复制的搭建
- mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)
- 基于Docker搭建MySQL主从复制
- 基于LNAMP环境搭建discuz论坛并部署mysql主从
- mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)
- mysql5.5搭建主从复制,半同步复制,基于ssl的主从复制
- 基于Docker的Mysql主从复制搭建
- MySQL(十五)之基于ssl加密搭建含有gtid特性的MySQL主从复制
- MySQL 主从复制搭建,基于日志(binlog)
- MySQL--------基于半同步复制搭建主从
- 基于Docker搭建MySQL主从复制
- MySQL--------基于GTID半同步搭建主从
- MySQL 主从复制搭建,基于日志(binlog)
- 基于Kubernetes搭建MySQL主从集群
- 基于Docker搭建MySQL主从复制
- mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)
- MySQL主从复制搭建,基于日志(binlog)
- 一步一图搭建-分布式服务器部署之mysql集群-主从复制与读写分离