使用物理备份恢复数据库
一 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
软件包或者其他版本
-
sudo apt-get install percona-xtrabackup-80;##8.0版本
-
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
导出整个数据库中的所有数据
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;