centos mysql备份scp_centos7 mysql xtrabackup mail scp同步 安装 备份

关闭防火墙

firewall-cmd --state

systemctl stop firewalld.service

systemctl enable firewalld.service

systemctl disable firewalld.service

修改服务器时间为本地时间

locale

locale -a

vi /etc/locale.conf

##加下面内容到第一行,设置中文

LANG=zh_CN.UTF8

mv /etc/localtime /etc/localtime.bak

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

重启服务器时间生效

https://www.cnblogs.com/waynechou/p/xtrabackup_backup.html

发送邮件错误:

send-mail: fatal: parameter inet_interfaces: no local interface found for ::1

解决:

vi /etc/postfix/main.cf

inet_interfaces = localhost 改为 inet_interfaces = all

重启服务:service postfix start

=======================================================

一、centos7 安装 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

=======================================================

cd /

mkdir me

cd me

mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz上传到me目录

tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

mkdir -p /me/mysql/data

groupadd mysql

useradd -r -g mysql mysql

//useradd -r参数表示mysql用户是系统用户,不可用于登录系统,创建用户mysql并将其添加到用户组mysql中

chown -R mysql /me/mysql/

chgrp -R mysql /me/mysql/

chown -R mysql.mysql /me/mysql

chown -R mysql.mysql /me/data

修改 /etc/my.cnf

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

basedir=/me/mysql/

datadir=/me/mysql/data

socket=/me/mysql/mysql.sock

log-error=/me/mysql/errordb.log

pid-file=/me/mysql/mysqld.pid

[client]

socket=/me/mysql/mysql.sock

[mysql]

socket=/me/mysql/mysql.sock

cd /me/mysql

执行 ./bin/mysqld --initialize

#执行./bin/mysqld --initialize --user=mysql --basedir=/me/mysql --datadir=/me/mysql/data --lc_messages_dir=/me/mysql/share --lc_messages=en_US

会生成临时密码,记下临时密码,密码会存在文件里/me/mysql/errordb.log

*ar5;#lk#3dI

#./bin/mysqld_safe --basedir=/me/mysql &

cd /me/mysql/support-files

cp mysql.server /etc/init.d/mysql

加入环境变量里

vim /etc/profile

在最后加入

#set java environment

MYSQL_HOME=/me/mysql

PATH=$MYSQL_HOME/bin:$PATH

export MYSQL_HOME PATH

保存退出

source /etc/profile

chown -R mysql.mysql /me/mysql

service mysql start/stop/restart

mysql -uroot -p

输入密码:*ar5;#lk#3dI(/me/mysql/errordb.log 里找)

use mysql;

set password=password("1");

flush privileges;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1' WITH GRANT OPTION;

flush privileges;

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

show engines;

=======================================================

二、Percona Xtrabackup 安装

=======================================================

https://www.percona.com/doc/percona-xtrabackup/LATEST/installation/yum_repo.html

1.下载

https://www.percona.com/downloads/XtraBackup/LATEST/

wget ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm

percona-xtrabackup-24-2.4.10-1.el6.x86_64.rpm

1.a yum 方式安装

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

yum list | grep percona

选择版本安装

yum install percona-xtrabackup-24

2.上传到服务器安装

rpm -Uvh percona-xtrabackup-24-2.4.10-1.el6.x86_64.rpm

3.可能需要安装

根据提示安装相应的rpm包

rpm -Uvh libev-4.15-1.el6.rf.x86_64.rpm

yum install numactl

yum install perl-DBD-MySQL.x86_64

yum install perl-Digest-MD5.x86_64

发邮件功能

yum install mailx

4.安装成功后增加 mysql 备份账号

mysql -uroot -p

grant reload,process,lock tables,replication client on *.* to 'bak'@'localhost' identified by 'bak';

flush privileges;

5.完整备份与恢复

全备备份:

innobackupex --defaults-file=/etc/my.cnf --user=bak --password='bak' --socket=/me/mysql/mysql.sock /me/mysql_backup

6.全备恢复

全备恢复:

service mysql stop

cd /me/mysql/data/

准备要恢复的全备的文件夹

innobackupex --apply-log /me/mysql_backup/2018-03-30_08-47-44

执行恢复

rm -rf /me/mysql/data/

service mysql stop

innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /me/mysql_backup/2018-03-30_08-47-44

更改目录权限

chown -R mysql.mysql /me/mysql/data

启动mysql

service mysql start

7.增量备份与恢复(以全备为基准: /me/mysql_backup/2018-03-30_08-47-44)

备份:

innobackupex --defaults-file=/etc/my.cnf --user=bak --password=bak --socket=/me/mysql/mysql.sock --incremental /me/mysql_backup/inc --incremental-basedir=/me/mysql_backup/2018-03-30_08-47-44/ --parallel=2

会生成增量1文件夹 /me/mysql_backup/inc/2018-03-30_09-31-41

再进行增量备份( 以增量1为基准:/me/mysql_backup/inc/2018-03-30_09-31-41)

innobackupex --defaults-file=/etc/my.cnf --user=bak --password=bak --socket=/me/mysql/mysql.sock --incremental /me/mysql_backup/inc --incremental-basedir=/me/mysql_backup/inc/2018-03-30_09-31-41 --parallel=2

会生成增量2文件夹 /me/mysql_backup/inc/2018-03-30_09-36-30

恢复:(3个步骤)

a.恢复完全备份

b.恢复增量备份到完全备份(开始恢复的增量备份要添加--redo-only参数,到最后一次增量备份要去掉--redo-only)

c.对整体的完全备份进行恢复,回滚未提交的数据

rm -rf /me/mysql/data/

service mysql stop

准备全备:

innobackupex --apply-log --redo-only /me/mysql_backup/2018-03-30_08-47-44/

将增量1应用到完全备份

innobackupex --apply-log --redo-only /me/mysql_backup/2018-03-30_08-47-44/ --incremental-dir=/me/mysql_backup/inc/2018-03-30_09-31-41/

将增量2应用到完全备份,注意不加 --redo-only 参数了(最后一个增量备份不用加--redo-only,是为了让完全备份变成 backup_type = full-prepared)

innobackupex --apply-log /me/mysql_backup/2018-03-30_08-47-44/ --incremental-dir=/me/mysql_backup/inc/2018-03-30_09-36-30/

#如果最后一个增量继续用了 --redo-only,则要把所有合在一起的完全备份再整体进行一次apply操作,让完全备份变成 backup_type = full-prepared,回滚未提交的数据

#innobackupex --apply-log /me/mysql_backup/2018-03-30_08-47-44/

执行恢复

innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /me/mysql_backup/2018-03-30_08-47-44

更改目录权限

chown -R mysql.mysql /me/mysql/data

启动mysql

service mysql start

=======================================================

三、mail 安装

=======================================================

1.yum install mailx

2.配置

vim /etc/mail.rc

set from=ceshi9889@163.com

set smtp=smtp.163.com

set smtp-auth-user=ceshi9889@163.com

set smtp-auth-password=xxx(授权码,去网易邮箱安全里生成)

set smtp-auth=login

3.发邮件

mail -s "主题" 收件地址 【-a 附件】 < 文件(邮件正文.txt)

=======================================================

四、scp 配置

=======================================================

通过公钥认证可实现ssh免密码登陆

A机器(源文件机器):192.168.1.21

B机器(目标文件机器):192.168.1.22

1.在A机器上操作

在A机器上生成认证密钥文件 sshkey

ssh-keygen -b 1024 -t rsa

一直回车

会在 /root/.ssh/目录生成2个文件 id_rsa 和 id_rsa.pub

给 id_rsa 可执行权限

chmod a+x id_rsa.pub

2.在B机器上操作

cd /root/.ssh/ 生成文件 authorized_keys (一定是这个名字,其它名字不行)

复制 A机器上id_rsa.pub 里的内容到 authorized_keys 里

给 authorized_keys 可执行权限

chmod a+x authorized_keys

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值