mysql备份时每个表只导出100条记录,有哪个软件能做到?

解决方案 »

  1.   

    一般来讲,图形管理工具(SQLYOG)只能全部备份数据、结构,除非自己写代码限制记录条数。
      

  2.   

    用SELECT INTO OUTFILE 试试
      

  3.   

    可是我要备份的有300张表,像你建议的那我就要写一个脚本了,有没有软件可以提供这个功能?以前有个TOAD FOR ORACLE好像就有这个功能,不过TOAD FOR mysql在本机装不了
      

  4.   

    1、用ELECT table_name, table_type, engine
         FROM information_schema.tables
         WHERE table_schema = '你的数据库'
         ORDER BY table_name DESC;
    取得表名,循环导出;
    2、用ADO的OPENSCHEMA取得表名,再导出。
      

  5.   

    建一个相同的表结构,不同的表名的表,insert ...select limit 100;过去。然后导这个新表,好多工具都可以啦!
      

  6.   

    http://blog.chinaunix.net/u/29134/showart_1074828.html
      

  7.   

    是用linux的,有没有windows下的?
      

  8.   

    确实值得关注:引用 14 楼 hujianniuop 的回复:引用 13 楼 jianyukop 的回复:
    引用 12 楼 jianshujijiq 的回复: 
    引用 11 楼 jianshujijiq 的回复: 
    引用 9 楼 yueliangdao0608 的回复: 
    http://blog.chinaunix.net/u/29134/showart_1074828.html 是用linux的,有没有windows下的? 
      

  9.   

    学习ing
    没用过
    来取经的
      

  10.   

    楼主从8月28日-9月5日,8天时间还没有解决?,如果用ADO、ADOX+SELECT INTO OUTFILE应该可以解决。
      

  11.   

    给你个脚本,在linux下运行#!/bin/sh
    backfile=$1
    if [ "$#" -lt 1 ]
    then
    echo "Usage:back.sh backfile.sql"
    exit 1
    fitmp=$(/usr/local/mysql/bin/mysql -hlocalhost -uroot -ppassword --database yourdatabase -e "show tables")
    tablenum=$(/usr/local/mysql/bin/mysql -hlocalhost -uroot -ppassword --database yourdatabase -e "show tables" | wc -l)
    tablenum=$(($tablenum-1))
    tables=$(echo "$tmp" | tail -n"$tablenum")
    for table in $tables
    do
    /usr/local/mysql/bin/mysqldump -hlocalhost -uroot -ppassword --default-character-set=utf8 --skip-opt -e -c --database yourdatabase --tables "$table" --where="true limit 100">> $backfile
    done
    用法
    back.sh /web/databack/2008.sql
      

  12.   

    好像没见到这样的工具,可以试试select into outfile 加limit ,或用mysqldump导出后再筛选.