1 Star 3 Fork 1

忆江南 / learning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
centos7 mysql xtrabackup mail scp同步 安装 备份 7.84 KB
一键复制 编辑 原始数据 按行查看 历史
关闭防火墙
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
五、mysql恢复
mysql -h172.0.0.2 -uroot -p1 lpds < E:\backupfile.sql
1
https://gitee.com/yjn/learning.git
git@gitee.com:yjn/learning.git
yjn
learning
learning
master

搜索帮助