加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

通过shell脚本 动态批量导出mysql 数据

发布时间:2023-02-03 15:13:16 所属栏目:MySql教程 来源:
导读:  一般mysql导出数据会使用select into outfile 导出,这种方式只有在命令行模式下才能把文件生成 到本地MySQL 导出数据,如果通过存储过程执行,文件会生成到mysql数据库所在的主机上。

  这个时候如果你需
  一般mysql导出数据会使用select into outfile 导出,这种方式只有在命令行模式下才能把文件生成 到本地MySQL 导出数据,如果通过存储过程执行,文件会生成到mysql数据库所在的主机上。
 
  这个时候如果你需要动态配置查询条件来导出文件,就会变得很麻烦。这种情况下,可以使用shell脚本来解决这个问题 ,具体shell脚本如下:
 
  ####MYSQL数据库账号
  MYSQL_USER=root
  MYSQL_PWD=****
  MYSQL_NAME=mtg
  MYSQL_HOST=XXX.XXX.XXX.XXX
  MYSQL_PORT=3306
  #导出mysql文件
  function exp_mysql_data()
  {
  #statement="select * from member;"
  statement=$1
  mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME} >$2 << EOF
  set character_set_client = utf8;     
  set character_set_results = utf8;    
  set character_set_connection = utf8;
  $statement
  EOF
  sed -i "s/\t/,/g" $2
  sed -i "s/NULL//g" $2
  }
  通过调用函数时传入的查询语句和 导出文件名,轻松批量动态导出数据文件。
 
  另附shell 脚本下 执行sql语句块的代码示例
 
  function excute_mysql()
  {
  mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME} <
  当然 感叹号内 包住的 文本可以通过参数传进来,将函数打包成公共 函数。
 
  此外在这个范围内还能使用mysql 的注释 --
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!