我只会用Mysqldump导出数据库数据,不知道存储过程中怎么写,请大家给我个例子。谢谢。
ps :要指明导出路径的的

解决方案 »

  1.   

    在SP中,用SELECT INTO OUTFILE
      

  2.   

    Mysqldump是一个外部程序,存储过程无法调用外部程序。
    如果要在存储过程中进行数据库备份,用1楼的方法挨个表的备份。楼主出于什么目的一定要用存储过程实现备份?
      

  3.   


    因为将来数据库和服务器不是放在一个机器上,现在是放在一起的备份方法是bat中调mysqldump 但是远程就不行了(总不能远程调bat吧),所以我想用存储过程来备份数据库。SELECT INTO OUTFILE只能导一个个表么不能一下子导出数据库么,如果这样我目前的导入数据库还要重写。
      

  4.   

    SELECT INTO OUTFILE只能导一个个表么不能一下子导出数据库么:不能,循环导出每1个表
      

  5.   

    SELECT INTO OUTFILE只能导一个个表么不能一下子导出数据库么:不能,循环导出每1个表那不是很多文件? 循环导出每1个表 怎么写? 不好意思我对数据库不了解 麻烦给讲讲
      

  6.   

    从系统表中取得所有表名->打开游标->循环->字符串生成SELECT INTO OUTFILE->动态执行
    动手做一下吧,有问题再咨询
      

  7.   

    mysqldump是可以备份远端库的,把远端库备份到本地。你看看mysqldump --help
      

  8.   

    不建议用存储过程备份,应该使用MYSQLDUMP,这个MYSQL提供的标准工具来备份,这个除了备份数据外,还可以备份 表结构,存储过程等。
      

  9.   

    mysqldump.exe --opt -h 172.16.163.60 --user=root --password=123456 --default-character-set=gbk  --lock-all-tables=true --result-file=c:\ productDBmysqldump: Can't create/write to file 'c:\' (Errcode: 2)
      

  10.   

    不好意思上面贴错了 
    mysqldump.exe --opt -h 172.16.163.60 --user=root --password=123456 --default-character-set=gbk --lock-all-tables=true --result-file=c:\backup productDB
    这次报  mysqldump: Got error: 2003: Can't connect to MySQL server on '172.16.163.60 '(10060) when trying to connect我忘了说了 客户机上没有装mysql   只是把数据库服务器mysql里面bin目录拷贝过来然后执行mysqldump
    不会是客户机也要装mysql吧
      

  11.   

    刚才改了下 加个端口 也是错D:\bin>mysqldump.exe --opt -h 172.16.163.60 -P3306  --user=root --password=12345
    6 --default-character-set=gbk  --lock-all-tables=true 
    --result-file=c:\backup  productDB
      

  12.   

    http://blog.csdn.net/yananguo_1985/archive/2011/05/24/6443106.aspx