使用物理备份恢复数据库

一 ubuntu 16.04安装mysql 5.6

1.添加mysql5.6的源

sudo apt-get install software-properties-common

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'

2.安装mysql5.6

sudo apt-get update

sudo apt install mysql-server-5.6

3.重启Mysql服务

sudo service mysql restart

4修改远程访问

sudo mysql -u root -p

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'daseroot;;212;';

flush privileges;

 

挂载磁盘     https://blog.csdn.net/qinxiandiqi/article/details/43270147

/etc/mysql/conf.d/mysql.cnf 修改

[mysqld] 

datadir = /data/mysql

二 ubuntu安装最新版的xtrabackup

1、下载

sudo wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb

2、安装

sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb;##$(lsb_release -sc)换成你对应系统的名字(xenial或者bionic等等)

3、启用存储库

 sudo percona-release enable-only tools release

4.记住要更新本地缓存: 

sudo apt-get update

5.安装该percona-xtrabackup-80软件包或者其他版本

  1. sudo apt-get install percona-xtrabackup-80;##8.0版本
  2.  sudo apt-get install percona-xtrabackup-24;##2.4版本

6.为了进行压缩备份,请安装qpress软件包

sudo apt-get install qpress

 

三 物理备份恢复

1、sudo xbstream -x -C /data/data_10 < ~/test.xb

2、sudo xtrabackup --decompress --target-dir=/data/data_10

3、sudo xtrabackup --prepare  --target-dir=/data/data_10

4、sudo vi /data/data_10/backup-my.cnf

       将解压文件backup-my.cnf中如下参数进行注释。

  • innodb_checksum_algorithm
  • innodb_log_checksum_algorithm
  • innodb_fast_checksum
  • innodb_page_size
  • innodb_log_block_size
  • redo_log_version

5、sudo chown -R mysql:mysql /data/data_10

6、sudo mysqld_safe --defaults-file=/data/data_10/backup-my.cnf --skip-grant-tables  --user=mysql --datadir=/data/data_10 &

 

关于跨服务器拷贝文件和文件夹

(1)将本地文件拷贝到远程

scp /root/install.* root@192.168.1.12:/usr/local/src

(2)从远程将文件拷回本地
scp root@192.168.1.12:/usr/local/src/*.log /root/

(3)将本地文件夹拷贝到远程

scp -r /home/test1 zhidao@192.168.0.1:/home/test2 

(4)从远程将文件夹拷回本地
scp  -r zhidao@192.168.0.1:/home/test2 /home/test1

 linux下mysql数据的导出和导入

导出整个数据库中的所有数据

1、在linux命令行下输入: mysqldump -u userName -p  dabaseName  >  /path/fileName.sql

2、导出数据库中的某个表的数据  mysqldump -u userName -p  dabaseName tableName >/path/ fileName.sql 

3、导出整个数据库中的所有的表结构 mysqldump -u userName -p -d dabaseName  > fileName.sql

4、导出整个数据库中某个表的表结构  mysqldump -u userName -p -d dabaseName tableName > fileName.sql

导入mysql方法1

 

mysql -uroot -p 回车  输入密码  

source /path/fileName.sql

导入mysql方法2

mysql -uroot -p database < /path/fileName.sql

 

加快导入的速度:

# 1.进入MySQL命令行 临时修改这两个参数
set global innodb_flush_log_at_trx_commit = 2;
set global sync_binlog = 2000;


# 2.执行SQL脚本导入
mysql -uroot -pxxxxxx testdb < testdb.sql


# 3.导入完成 再把参数改回来
set global innodb_flush_log_at_trx_commit = 1;
set global sync_binlog = 1;

 

posted on 2021-06-03 17:12  Leon_梁远  阅读(123)  评论(0编辑  收藏  举报

导航