`
dsxwjhf
  • 浏览: 73277 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

Shell :导出 Mysql 数据

阅读更多
#!/bin/bash
# Author: wjxie
# Created at: 2014-12-19
# Feature: dump and clear table ad.ad_hit

set -e
USERNAME="******"
PASSWORD="******"
DATABASE="ad"
MYSQL=`which mysql`
TODAY=`date +%Y-%m-%d`
YESTERDAY=`date -d yesterday +%Y-%m-%d`
DUMP_FILE="/root/workspaces/sql.dump/ad_hit.sql."$TODAY
LOG_FILE="/root/workspaces/sql.dump/shell.log"

echo "==================== "$TODAY" ====================" >> $LOG_FILE
count=`$MYSQL $DATABASE -u$USERNAME -p$PASSWORD <<EOF | tail -n +2
  select count(id) from ad_hit where created_at < '$YESTERDAY';
  exit
EOF`
echo "ad_hit created before yesterday has "$count" records." >> $LOG_FILE

if [[ $count -gt 10000000 ]];then
  # dump ad_hit before yesterday
  # -t : only dump data, not to dump schema
  # --single-transaction : not to prevent read and write, but keeps repeatable r                                                                                        ead. this will only works for innodb
  # --quick : not to cache query result in memory, dump directly
  start_time=`date +%s`
  mysqldump -u$USERNAME -p$PASSWORD -t --single-transaction --quick $DATABASE ad                                                                                        _hit --where="created_at < '$YESTERDAY'" > $DUMP_FILE
  end_time=`date +%s`
  cost_time=$[ end_time - start_time ]
  echo "dump ad_hit finished, cost "$cost_time" s." >> $LOG_FILE

  # clear ad_hit before yesterday, optimize table
  start_time=`date +%s`
  $MYSQL $DATABASE -u$USERNAME -p$PASSWORD <<EOF
    delete from ad_hit where created_at < '$YESTERDAY';
    optimize table ad_hit;
    exit
EOF
  end_time=`date +%s`
  cost_time=$[ end_time - start_time ]
  echo "clear and optimize ad_hit finished, cost "$cost_time" s." >> $LOG_FILE
fi
分享到:
评论

相关推荐

    mysql-shell:mysql-shell-8.4.0-windows-x86-64bit.zip

    5. **数据库管理**:MySQL Shell可以帮助用户执行常见的数据库管理任务,如创建、删除和管理数据库、表,以及导入和导出数据。 6. **性能分析**:内置的性能顾问模块可以分析查询性能,提供改进建议,帮助优化...

    shell脚本mysql导出指定表并分表存储

    mysql导出指定表并分表存储sql文件且压缩的shell脚本,数据库数据过大时,可以用于数据库备份

    shell-mysql:shell脚本分页导出mysql数据

    使用shell脚本分页读取MySQL数据 脚本背景 由于要在Linux上,远程读取mysql的表的数据,然后做一定清洗后,把数据上传至Hadoop集群中,使用Java写吧,感觉太麻烦了,得在Win上开发好,还得打成jar包, 上传到Linux上...

    shell编程备份mysql数据库.sh

    防止误删服务器数据库 ,使用Shell脚本备份...mysql数据里面有个atguiguDB数据库 将这个数据库备份到/data/backup/db -----》shell脚本写到/usr/sbin/mysql_db_backup.sh---》然后将脚本设置到crond执行 2)代码实现

    mysql数据导入导出php版 mysql数据导入导出php版

    总结,使用PHP进行MySQL数据导入导出涉及到的知识点包括:PHP执行shell命令、PDO和MySQLi扩展的使用、`mysqldump`和`mysqlimport`工具、`SELECT INTO OUTFILE`和`LOAD DATA INFILE` SQL语句、数据分批处理、事务管理...

    mysql数据迁移,本资源用shell脚本自动完成,人机交互

    在进行数据迁移时,我们通常会先使用`mysqldump`将源数据库的数据导出为SQL文件,然后在目标环境中使用`mysql`命令将这些数据导入。 Shell脚本可以包含以下步骤: 1. **连接源数据库**:使用`mysql`命令或者`...

    Mysql数据导出成Excel方法

    本文将介绍使用 MySQL 命令和 shell 结合来将数据导出成 Excel 格式的方法。 方法一:使用 SELECT INTO OUTFILE 语句 在 MySQL 中,我们可以使用 SELECT INTO OUTFILE 语句来将数据导出成文本文件,然后再将其转换...

    mysql-shell-8.0.26-linux-glibc2.12-x86-64bit.tar.gz

    5. **数据操作和管理**:MySQL Shell提供了数据导入导出、表维护、索引管理、触发器和存储过程操作等功能,方便数据库的日常维护。 6. **复制工具**:MySQL Shell集成了复制配置和监控工具,帮助用户设置和管理主从...

    Bash中使用MySQL导入导出CSV格式数据

    本文将深入探讨如何在Bash环境下利用MySQL进行CSV数据的导入和导出,以及相关的知识点。 首先,CSV(Comma Separated Values)是一种通用的数据交换格式,它以逗号分隔每一列数据,方便数据的读取和存储。在数据库...

    magento导出数据sql

    在Magento中,数据主要存储在MySQL数据库中,因此我们可以通过以下几种方式来导出数据: 1. **使用MySQL客户端工具**:像PHPMyAdmin或MySQL Workbench这样的工具允许你直接连接到数据库并运行SQL查询,将结果导出为...

    shell脚本导出表数据并压缩文件上传指定ftp目录

    在这个场景中,我们关注的是如何利用shell脚本来实现特定的功能:根据时间条件导出数据库表数据,计算文件信息,压缩文件,以及通过FTP上传到指定的远程目录。下面将详细阐述这些知识点。 首先,我们需要理解`shell...

    使用mysqldump命令导出MYSQL数据库

    `mysqldump`是一个强大的命令行工具,它允许用户备份、导出MySQL数据库的数据和结构。这个工具对于开发人员和系统管理员来说是必不可少的,因为它提供了在不同环境之间迁移数据的能力,也可以用于定期备份,防止数据...

    shell执行mysql脚本

    通过这种方式,shell脚本和MySQL可以协同工作,实现自动化的数据库管理任务,比如数据导入导出、批量更新、定时备份等。记住,为了安全起见,避免在脚本中明文写入密码,通常会使用环境变量或者密钥管理工具来存储...

    kettle批量导出mysql存储过程

    总结来说,Kettle批量导出MySQL存储过程涉及到的关键知识点有:Kettle的数据流设计、MySQL的存储过程、数据库元数据获取、循环控制、文件生成和命令行脚本的创建。熟练掌握这些技能,将有助于我们在数据库管理和维护...

    Introducing MySQL Shell

    4. **安全连接**:MySQL Shell提供安全的SSL/TLS连接,确保在远程访问数据库时的数据传输安全。 5. **交互式模式**:用户可以在交互式模式下测试SQL语句、运行脚本或执行函数,这对于调试和学习新功能非常有帮助。 ...

    mysql-shell-8.0.20-windows-x86-64bit.zip

    5. **数据导入导出**:用户可以通过MySQL Shell方便地将数据导入和导出到各种格式,如CSV、JSON等。 6. **性能分析**:内置的性能分析工具可以帮助用户诊断查询性能问题,优化数据库运行效率。 7. **备份与恢复**...

    mysql连接shell

    mysql用shell命令导出数据,执行存储过程

    mysql,linux shell学习进阶.zip

    - 数据导入导出:使用shell脚本配合mysqldump工具进行数据的导入和导出。 - 性能监控:通过Shell获取MySQL性能指标,如查询速率、内存使用情况等。 - 日志分析:解析MySQL的日志文件,找出可能的性能瓶颈或错误...

    mysql-shell-8.0.30-linux-glibc2.12-x86-64bit.tar.gz

    2. **JavaScript和Python接口**:对于喜欢使用脚本语言的开发者,MySQL Shell提供了JavaScript和Python两种语言的API,可以编写脚本来自动化执行数据库任务,如数据导入导出、备份恢复等。 3. **JSON支持**:MySQL ...

    mysql 导入导出 sql文件

    ### MySQL导入导出SQL文件详解 #### 一、概述 MySQL作为一款广泛使用的开源关系型数据库管理系统,在数据管理和维护方面提供了强大的支持。其中,数据的导入导出是日常数据库管理中非常重要的环节之一。本文将详细...

Global site tag (gtag.js) - Google Analytics