Mysql 8 备份与还原

使用sql server 备份与还原这块很方便,一直拒绝MYSQL,效率很低,备份和还原也特别的慢,所以单独整理研究一篇关于MYSQL的备份与还原,基于mysql8的版本。

总结:目前发现还是官方自带的mysqldump是好用的,虽然速度比较慢,最少风险也小

一、Sql Server 同步到 MySql

SqlServer MDF文件大小为4.28G,使用 Navicat Premium 12,将本地的SqlServer 2008 R2数据导入本地的MySql 8数据库,环境为本机WIN10。

2千1百万条数据耗时快一个小时了。

二、Win MySql数据目录 复制到 Linux MySql 数据目录(失败,等Copy LInux To Linux在试)

# 1.使用putty自带的pscp程序将本地的数据库文件上传到服务器
pscp "C:\Program Files\mysql-8.0.19-winx64\data\syyz.rar" root@124.239.148.216:/mysql8

# 2.查看Linux下的MySql的数据目录
mysql> show global variables like '%datadir%';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)

# 3.操作上传的数据文件
  service mysqld stop                  #停止Mysql服务 
  mv /mysql8/syyz.rar /var/lib/mysql   #移动上传的数据库文件
  rar x syyz.rar                       #解压到当前目录
  service mysqld start                 #启动报如下错误,应该是Win下的data文件COPY到LINUX下不行,所以以后在试这种方式吧。
Redirecting to /bin/systemctl start mysqld.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

三、mysqldump工具备份

# 1. Windows 环境备份
  cd C:\Program Files\mysql-8.0.19-winx64\bin  #进入bin目录
  mysqldump -u root -h 127.0.0.1 -p syyz > backdb.sql #备份syyz库,3.75G备份了5分钟多,好慢

# 2. 上传Linux 还原
  pscp "C:\Program Files\mysql-8.0.19-winx64\bin\backdb.rar" root@124.239.148.216:/mysql8  #上传
  rar x backdb.rar   #解压
  mysql -uroot -p syyz</mysql8/backdb.sql #还原耗时11分钟(syyz库必须存在,会覆盖数据)


 

### 常用命令 ###
# 备份整个数据库
$> mysqldump -u root -h host -p dbname > backdb.sql 


#备份数据库中的某个表
$> mysqldump -u root -h host -p dbname tbname1, tbname2 > backdb.sql 

#备份多个数据库
$> mysqldump -u root -h host -p --databases dbname1, dbname2 > backdb.sql 

#备份系统中所有数据库
$> mysqldump -u root -h host -p --all-databases > backdb.sql

网上说使用这两个参数备份,恢复会快(打脸,参考 https://blog.csdn.net/xizaihui/article/details/53103049)

mysqldump -uroot -p123456 syyz --max_allowed_packet=67108864 --net_buffer_length=16384 > syyz.sql #备份耗时3分钟
mysql -uroot -p syyz</mysql8/syyz.sql  恢复结果耗时50分钟,如果不加那两个参数恢复用13分钟,为啥?

四、Xtrabackup工具使用

官网:https://www.percona.com

 下载很慢(我使用WIN下载):

wget https://www.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0.10/binary/redhat/7/x86_64/Percona-XtraBackup-8.0-10-r94f9645-el7-x86_64-bundle.tar

下载成功后,打开将第一个文件上传服务器

pscp C:\percona-xtrabackup-80-8.0.10-1.el7.x86_64.rpm root@124.x.x.x:/mysql8

安装

 yum install percona-xtrabackup-80-8.0.10-1.el7.x86_64.rpm

判断是否安装

rpm -qa | grep -i xtrabackup

查看版本

xtrabackup --version

我MYSQL安装的是8.0.19难道不支持?

先不管了,备份试试

xtrabackup --backup --target-dir=/mysql8/back/ -uroot -p  全库备份

结果备份完后,MYSQL就停止了,启动也启动不了了,不知道是备份版本的问题,还是什么问题

重启linux服务器后,发现又自动启动了。

恢复全库备份(删除其中的一个表)

service mysqld start #停止服务

mv /var/lib/mysql /var/lib/mysql-bak 备份旧的数据目录

xtrabackup --copy-back --target-dir=/mysql8/back/  覆盖数据文件

chown -R mysql:mysql /var/lib/mysql 
chmod -R 755 /var/lib/mysql               权限

service mysqld start #启动服务

被删除的表,确实也回来了,但是这个工具貌似只能全库备份,和增量备份,到Sql Server的备份功能差的太远太远,性能就更不说了,这也是我一直排斥mysql的原因。

五、Centos 7.5 安装rar工具

# 1. 下载,比较慢
  wget https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz 

# 2. #  rar软件不需要安装,直接解压到/usr/local 下
  tar fx rarlinux-x64-5.5.0.tar.gz  -C /usr/local/

# 3.设置环境变量(以下操作需要有root权限)
  ln -s /usr/local/rar/rar /usr/local/bin/rar 
  ln -s /usr/local/rar/unrar /usr/local/bin/unrar

# 4.用法(解压 xx.rar 到当前目录)
  rar  x  xx.rar

# 5.所有参数使用方法:  
a             添加文件到压缩档案
c             添加压缩档案注释(注释的大小最大不能超过62000字节)
cf            添加文件备注( 当使用'v'参数时显示文件备注,最大不能超过32767字节)
ch            改变压缩档案参数
cw            向指定文件写入档案备注
d             从档案中删除文件
e             解压缩文件到当前目录(不创建任何子目录)
f             刷新档案中的文件(更新这些文件自它们被打包之后产生的变化,不在压缩档案中增加新的)
i[par]=<str>  在档案中查找特定字符
k             锁定档案(任何试图改变压缩档案中内容的命令都会被忽略)
l[t,b]        列出档案[technical, bare]
m[f]          移动到压缩档案中[只针对文件]
p             打印文件到标准输出
r             修补压缩档案
rc            重建丢失的分卷
rn            重命名压缩档案中的文件
rr[N]         添加数据恢复记录
rv[N]         创建恢复卷
s[name|-]     压缩档案与SFX(自解压文档)之间的转换
t             测试压缩档案文件
u             更新压缩档案中的文件
v[t,b]        列出压缩档案的详细信息[technical,bare]
x             解压缩到完整路径

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值