mysqldump在导出数据的过程中是“沉默”的,为了显示导出进度,给它加一个小patch显示进度。感谢 @宁青_ 的需求。
一、mysqldump输出方式
这个patch比较简单,先说一下相关的一个背景:mysqldump的输出方式。
1、 默认方式 stdout
2、 指定文件
-r target_file 可以指定导出的内容写入文件target_file中
3、–tab=path
在path目录下,对每个表生成两个文件,如表a生成a.sql和a.txt,分别存储表的定义和表的内容。
注意在指定—tab参数时,使用的是select into outfile …因此对指定的用户权限要求更高。
二、进度报告patch
增加参数 --progress-report 后,执行效果如下:
如图会依次显示每个表的导出进度。 可执行文件下载
进度报告是否显示与dump时指定的输出方式有关:
1、不指定-r参数则无效。由于进度报告需要输出在stdout,因此若无-r参数,则—report-gress参数无效(否则显示混乱,而且会破坏默认输出)
考虑到有程序会通过管道将输出直接导入到别的系统,将进度报告改为stderr,因此此限制取消
2、 指定—tab时无效。 –tab时使用into outfile无法获取执行进度。
分享到:
相关推荐
2. --master-data:将binlog的位置和文件名添加到输出中,如果等于1,将会打印成一个CHANGE MASTER命令;如果等于2,会加上注释前缀。 3. --lock-all-tables:锁定所有库中所有的表。这是通过在整个dump的过程中持有...
在Java中,可以使用`Runtime`类或者`ProcessBuilder`类来调用操作系统级别的命令行工具,执行`mysqldump`并捕获其输出,从而实现数据库的备份。这通常涉及到以下步骤: 1. 建立与MySQL服务器的连接。 2. 执行`...
- 确保处理进程的输入、输出和错误流以避免阻塞。这可以通过以下方式完成: ```java process.waitFor(); ``` 2. **还原过程**: - 还原操作同样可以通过`mysql`命令完成,读取`backup.sql`文件中的SQL语句并...
以上就是使用PHP在线备份和恢复数据库,并结合进度条功能的实现方式。这种技术在实际项目中非常有用,能够帮助开发者更有效地管理数据库,同时为用户提供更好的交互体验。确保在使用过程中考虑安全性,比如对用户...
5. **进度报告**:在导出过程中,`slimdump` 提供实时进度信息,帮助用户了解备份的状态。 ### 使用slimdump的基本步骤 1. **安装slimdump**:首先,你需要通过Composer(PHP的依赖管理工具)来安装`slimdump`。在...
1. "output.txt" - 这通常是一个输出文件,可能是MySQL还原精灵在执行某些操作时生成的日志文件,包含了操作过程中的详细信息,例如错误信息、进度报告或者结果摘要,对诊断问题或了解操作状态非常有用。 2. "mysql...
- 如果数据库较大,长时间运行的备份操作可能需要考虑异步处理和进度报告。 总的来说,这段Java代码提供了一个简单的MySQL数据库备份解决方案,通过调用系统命令行工具进行数据库的SQL导出。然而,对于生产环境,...
8. **监控与自动化**:使用脚本或自动化工具如Cron定时任务来自动执行备份过程,并通过日志监控备份的进度和任何潜在问题。 9. **权限管理**:确保备份和恢复操作的权限控制严格,避免未经授权的访问和修改。 10. ...
它可以帮助团队更高效地协作处理任务、追踪进度、管理文档等。Redmine适用于各种规模的项目和团队,特别适合软件开发团队。 #### 二、Redmine系统要求 - **Ruby on Rails**:Redmine基于Rails框架开发,因此需要...
在Java中实现MySQL数据库的备份和恢复功能,通常涉及到与MySQL服务器进行交互,这可以通过执行命令行工具(如`mysqldump`和`mysql`)来实现。在给出的代码中,我们看到两个主要方法:`backup()`和`recover()`,它们...
考虑到查看执行进度,可以选择以下方式: ```bash mysql -u root -p ``` 登录后,选择要导入的数据库: ```sql use database_name; ``` 然后,加载SQL脚本进行导入: ```sql source /data0/tuan/tuan.sql; ``` ...
输出结果会显示安装进度和其他相关信息。 2. **设置 root 用户密码**:安装完成后,需要为 MySQL 的 root 用户设置一个安全的密码。 ```bash /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/...
以下是一种常见的方法,使用Linux的`mysqldump`和`scp`命令来完成这个任务: 1. **使用mysqldump导出数据库** `mysqldump`是MySQL提供的一个实用工具,用于备份数据库或将其导出为SQL格式。在本地执行以下命令可以...
fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令 at id号 开启已注册的某个计划任务 at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止 at ...
- **实现方式**:懒汉式、饿汉式、双重检查锁定等。 ##### 解析XML文件的几种技术 - **DOM (Document Object Model)**:将XML文档转化为树形结构。 - **SAX (Simple API for XML)**:基于事件驱动模型。 - **StAX ...