mysql数据库文件移机_MySQL简易备份方法
四.MySQL线上备份
使用像上面的"档案"方式备份是个不错的方法,它最少可以保持该主机某个时间点的完整档案备份,但还是有一些问题需要考虑到,有些主机就不只建立一个 DB 而已, 总不能为了备份某个 DB 而把整个 MySQL 服务停止,备份档案的方式,回存在原主机上一定适用,但假如 MySQL 版本升级,或是在那天,该网页空间需迁机移机到别的主机时, 那就没人敢保证备出来的资料档可以用,所以我们可以考虑另一种备份的方式,是使用MySQL 本身提供的功能: "MySQL Data Dump",指令是 "mysqldump".
使用 MySQL 的 Dump 功能可以把 DB 的"结构","资料"或"结构加资料" Dump 成文字档, mysqldump 指令提供的弹性很大,你可以选择把整个 DB Dump 成一个档, 或是每个 Table 为一个档,甚至是把结构档和资料分开储存都可以.
检测酷!学园的 phpBB 资料库後发现,以结构加资料 Full Dump 成一个档案, 档案的大小大约也是30几MB左右. 在 Dump 之前最好多下个 Flush-Logs 更新 LOG, 所以整个 Dump 的指令如下:
mysqladmin -uroot -p flush-logs
mysqldump phpbb2 -uroot -p opt > phpbb2_20020601.sql
(phpbb2 是 DB 名称, opt 是一个使用完整 Dump 参数)
再使用 time 指令去测试执行时间,这个30几 MB 的 DB , Dump 出来竟只要15秒左右, Query 的速度还真是快,假如只是要单独 Dump 某个 Table 时,只要在上面的指令後, 转出符号 ">" 前加个 Table 名称就可以,如只要 phpbb2_users 这个 Table 的 Dump 时, 只要下:
mysqldump phpbb2 -uroot -p opt phpbb2_users > phpbb2_users_20020601.sql
Dump 出来的档案是个纯文字档,你可以用 tar 把它压起来,以上面30几 MB 的 DB 为例, 大约可以把档案大小压到1/3左右的大小,因为 Dump 出是文字档,所有的资料都是以明文
显示,所以必须注意一下备份档保存的安全性,而且建议备份档最好再另外储存於异地以及其他易於保存的媒体上,像光碟片或磁带,这样的备份才有意义.
五.MySQL线上回存
若要回存整个资料库,只需将压缩的备份档还原成 Dump 的档案,再用下面的指令回存:
mysql phpbb2 -uroot -p < phpbb2_20020601.sql
这边需注意的是,若建立备份时是以"opt"或"add-drop-table"为参数时,回存的动作是先将旧的 Table 先删除,重建 Table 的结构後再把 Data 汇入,所以回存後, 所有的资料会回到你当时备份那个时间点,因此在回存资料时,可以考虑把现有错误或不完整的 DB 先备份一份下来,以备不时之需,或是拿来比对错误的地方在那里,当然你也可以把资料回存到另一个测试用的 DB 内,只要把上面指令的 DB 名称改成你的测试用 DB 名称即可.
使用这种回存方式, MySQL 服务不需停止,也不会动到其他正在使用的 DB ,在一些提供MySQL 服务的虚拟主机,可用这种方式作你自己的 DB 备份及回存.
另外,假如你是系统重建或是移机时,切需在新的 MySQL 内,新建一个空白 DB 後,才行作回存的工作,你可以用下面的指令建立:
mysql -uroot -p -e "CREATE DATABASE phpbb2"
(上面的phpbb2是你要新建的 DB 名称)
另一种作法,先用 "mysql" 指令进入 "mysql client console", 然後再用:
CREATE DATABASE phpbb2;
这样就行了,记得尾端要加个 ";" 符号该行指令才会执行.
六 开始排定备份
知道备份的方法之後,就可以把整个备份的动作作成一个 Scirpt ,指定 DB 相关参数後, 便可利用 Crontab 排定备份的周期和时间,可以把下面的指令加入 Crontab 内:
00 04 * * * /home/dbadmin/backup
(backup 是 Script 的档名)
排定的时间当然最好是夜间离峰时. 以本文附录提供的 Script 作备份规则说明,每日执行备份作业,以一周为一个周期,所以最近的资料是昨天,最久的资料是一星期前,每次备份是将指定的 DB Full Dump 成一个档, 用 tar 压缩後存入指定的路径. 备份档以 DB 的名称加上星期来命名,星期的表示为"0" 代表星期日,"1"代表星期一,以此类推.
目前该 Scirpt 一次只能备份一个 DB 而已,你可以加以修改以符合你的系统环境及需求.
mysql数据库文件移机_MySQL简易备份方法相关推荐
- 查看mysql数据库文件命令_MySQL 数据库常用命令
1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...
- mysql 数据库 文件夹_mysql 数据库 文件夹
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql数据库断电恢复_MySQL数据库InnoDB引擎下服务器断电数据恢复方法
说明: 线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹. 问题: 通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时 ...
- grafana导入json文件没有数据_XAMPP客户端环境无法导入较大Mysql数据库文件的解决方法...
一般我们本地的网站环境是使用的PHPSTUDY软件客户端,但是一般的MacOS下会使用XAMPP客户端,以前我在MAC上也是有使用过的,总感觉没有国产的软件好用所以就没有使用. 今天遇到有网友出现XA ...
- mysql数据库文件损坏的原因_MySQL数据库文件损坏如何解决
以下的文章主要是介绍MySQL数据库文件在坏掉的情况下通过二进值日志对其进行恢复的实际操作方案,本文主要是从造成MySQL数据库文件在坏掉的原理讲起的,以下就是文章的主要内容描述. 一.场景 1.你使 ...
- mysql 数据库表重建_mysql 数据库表重建
数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败 问题描述 主库的create table语句传到备库,备库SQL线程执行过程中报错: Erro ...
- MySQL数据库文件
MySQL数据库文件 本文档从MySQL数据库和存储引擎层面介绍各种类型的文件. 参数文件(my.cnf) 错误日志(error log) 二进制日志文件(binary log) 慢查询日志(slow ...
- mysql数据库表重建_mysql数据库表重建
数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败 问题描述 主库的create table语句传到备库,备库SQL线程执行过程中报错: Erro ...
- php导出数据库的指定表数据,MYSQL教程mysql数据库导出指定表数据的方法
<MYSQL教程mysql数据库导出指定表数据的方法>要点: 本文介绍了MYSQL教程mysql数据库导出指定表数据的方法,希望对您有用.如果有疑问,可以联系我们. 导读:linux下导出 ...
最新文章
- Castle ActiveRecord学习实践(1):快速入门指南
- 20161023 NOIP 模拟赛 T1 解题报告
- shell -- shift用法
- oracle分区list,Oracle 分区表中存在range-list表分区时遇到问题及解决办法
- 【项目管理】项目裁剪解读
- 阿波罗数据集怎么下载_从2D images 到3D估计:现有最大规模数据集 ApolloCar3D
- [蓝桥杯2016初赛]搭积木-枚举,next_permutation
- 结对项目——最大子数组
- 31 天重构学习笔记14. 分离职责
- 计算机组装错题整理,数学排列组合部分错题精选.docx
- Vue报错:3 errors and 0 warnings potentially fixable with the `--fix` option.
- 打通高德、UC、微博,支付宝小程序组建“阿里联盟军”对抗微信小程序?| 技术头条...
- 十八年开发经验分享(一)学习篇
- java继承与覆盖_Java-继承与覆盖【摘抄】
- Crontab 实例
- python手机版做小游戏代码大全-用Python设计一个经典小游戏
- 常用大数据核心技术有哪些?
- 达梦数据库DM8的DM管理工具manger命令行启动时出错Manager:10369的处理方法
- CorelDraw插件开发-VBA-常用功能-二维码创建-cdr插件
- wifi卡慢延迟高_家里WIFI越用越卡?教你3个小方法,彻底解决网速慢、卡顿等问题...