高速备份还原MYSQL数据库
#安装依赖包
yum -y update gcc
yum -y install gcc+ gcc-c++
#安装
cd /usr/local/software
tar -jxvf p7zip_16.02_src_all.tar.bz2
cd p7zip_16.02
make && make install
============================================================================
#安装innobackupex
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
yum install numactl libaio rsync -y
rpm -ivh percona-xtrabackup-24-2.4.8-1.el6.x86_64.rpm
#备份一下
innobackupex --user=root --password=** --databases="dsideal_db mysql" /usr/local/software
开始时间:13:16:37
结束时间:13:27:50
#压缩一下
cd /usr/local/software
#压缩(不带全称路径)
7za a -t7z 2017-08-09_13-16-30.7z 2017-08-09_13-16-30/
innobackupex通过backup-my.cnf(这个文件存在于上面的备份目录下)来获取DATADIR目录的相关信息。
#还原一下
cd /usr/local/software
#解压缩
7za x 2017-08-09_13-16-30.7z
cd /usr/local/db/mysql/data && rm -rf *
vi /etc/my.cnf # 加入 datadir 配置项
datadir=/usr/local/db/mysql/data
应用一下日志
innobackupex --apply-log /usr/local/software/2017-08-09_13-16-30/
innobackupex --defaults-file=/etc/my.cnf --copy-back /usr/local/software/2017-08-09_13-16-30/
chown -R mysql:mysql ./*
chmod -R 777 data
service mysql restart
链接: http://pan.baidu.com/s/1bozIo15 密码: uhfv
#自动备份
http://www.cnblogs.com/jiangwenju/p/4919633.html
http://navyaijm.blog.51cto.com/4647068/1422229
===========================================================================================================================================
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=Aria;') FROM information_schema.tables WHERE table_schema='dsideal_db' AND ENGINE='InnoDB';
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=Aria;') FROM information_schema.tables WHERE table_schema='dsideal_db' AND ENGINE='InnoDB' and table_name not like '%_sphinx%' and table_name not like '% %';
如果提示错误:
Specified key was too long; max key length is 1000 bytes
解决思路:
1.DB engine 是MyIsAm
2.字符集是 utf8 ,1个utf8=3bytes
3.最后就是 (100+255)*3>1000 所以报错
解决方案很多 ,修改DB engine 至 innodb,或者是更改字符集,或者是减小字段长度 皆可.:)
初始化数据库,重新还原
cd /usr/local/db/mysql/
rm -rf data #注释掉
vi /etc/my.cnf
#innodb_force_recovery = 4
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/usr/local/db/mysql/data
chmod -R 777 /usr/local/db service mysql start
mysqladmin -u root password 'D**********' GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "DsideaL147258369"; flush privileges;
最新文章
- GMap.NET二次开发库
- Linux下开发常用 模拟 Http get和post请求
- 《奥威Power-BI智能分析报表制作方法》精彩回顾
- OCR文字设别软件没有权限管理服务器上的许可证怎么办
- Myeclipse配置mybatis的xml自动提示
- LSI MegaCl i命令使用1
- box-shadow全面解析
- Flash Recovery Area空间不足导致DB不能打开或hang住处理方法
- Zencart批量删除无图片产品
- 算法问题:最长滑道问题(非递归,C++)
- [图形学] Chp14 GLU曲面裁剪函数程序示例及样条表示遗留问题
- 391.FANUC宏程序编程
- drupal 8 之 captcha模块
- 高性能JavaScript(1)
- 打印杨辉三角—Python
- Tensflow的targmax函数
- Web应用:当文件超过100KB,无法上传,有种原因你想象不到
- BZOJ1607 [Usaco2008 Dec]Patting Heads 轻拍牛头 筛法
- React Native 开发工具篇
- 109. Magic of David Copperfield II 构造 难度:2