解决方案 »

  1.   

    将上述语句放入BAT文件中,再用DELPHI调用
    or
    用ShellExecute执行上述
    mysqldump -uroot -p123  my_database >my_database.sql
    命令
      

  2.   

    有没有直接类似sql语句用的方法,直接在delphi里用sql语句备份?
      

  3.   

    我写在bat里运行,结果文件是生成了,但是里面没有内容,0kb
      

  4.   

    有没有直接类似sql语句用的方法,直接在delphi里用sql语句备份?
    如果你只是要数据,可以参考 select outfile ....mysqldump -uroot -p123  my_database >my_database.sql
    直接在系统命令行下运行,看看结果如何
      

  5.   

    在WINDOWS的DOS窗口下,进行MYSQL目录,运行
    mysqldump -uroot -p123  my_database >my_database.sql
    提示什么
      

  6.   

    Windows的dos窗体当然不能运行mysql语句了,是在 MYSQL Command Line Client下面运行的
      

  7.   

     mysqldump就是在dos下运行的 不需要进入mysql
      

  8.   

    MYSQLDUMP是在WINDOWS的DOS窗口下运行的,你是怎么运行的?
      

  9.   

    MYSQL Command Line Client
      

  10.   

    直接在DOS里运行结果是:‘mysqldump’不是内部或外部命令,也不是可运行的程序或批处理文件
      

  11.   

    在WINDOWS的DOS窗口下,进入MYSQL\BIN目录,运行
     mysqldump -uroot -p123  my_database >my_database.sql
      

  12.   

    测试通过
    ShellExecute(1,'open',PChar('cmd.exe '),pchar('/c d:\mysql55\bin\mysqldump.EXE  -uroot -p123 aa>r:\temp\AA.sql'),nil,SW_SHOW);修改用户名、密码、数据库名即可
      

  13.   

    试了,但生成的是0kb,数据库和密码已经改了,用户名还是root
      

  14.   

    首先楼主需要确认自己的PC上有这个 msyqldump.exe执行文件。比如在目录
    c:\mysql\bin\mysqldump.exe然后再执行命令c:\mysql\bin\mysqldump.exe -uroot -p12345 db1>c:\xxx.sql
      

  15.   

    在WINDOWS下的DOS窗口下运行,提示什么,注意不是在MYSQL命令行下
    d:\mysql55\bin\mysqldump.EXE  -uroot -p123 aa>r:\temp\AA.sql'
      

  16.   

    测试通过,注意用户名、密码、目录名,最好先在系统命令行下运行,看看提示、结果,再
    放入DELPHI中unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,ShellAPI;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
    ShellExecute(1,'open',PChar('cmd.exe '),pchar('/c d:\mysql55\bin\mysqldump.EXE  -uroot -p123 aa>r:\temp\AA.sql'),nil,SW_SHOW);
    end;end.
      

  17.   

    你把MYSQLDUMP COPY到1个短目录中试试,排除长目录名的问题,比如
    COPY到d:\MYSQL 目录中
      

  18.   

    呵呵,果然是长目录名的问题,
    1、COPY到1个短目录中;
    2、在目录名加引号
    "\mysql目录名\mysqldump.exe" -uroot -p.....
      

  19.   

    将上述MYSQLDUMP替换为下述语句
    mysql -uroot -p123 <aa.sql
      

  20.   

    发现这样导出的东西和用Navicat for MySql中的‘存储SQL文件’功能差不多,关键是导入的话一次性导入多条含中文值的数据就会乱码,这是什么原因?
      

  21.   

    是所有记录都是乱码?
    检查MYSQL字符集
    show variables like 'char%'; 
      

  22.   


    是utf8的,已经改过了;
    是不是character_set_filesystem 这项的问题?
      

  23.   

    是utf8的,已经改过了:
    已经有记录了?如果是
    修改后要重新插入记录才行
      

  24.   

    那应该没有问题,我的也是UTF8字符集,用MYSQLDUMP、MYSQL备份、恢复没有问题,检查一下字段的字符集,如果都是
    UTF8的,恢复后应该是正常的汉字
      

  25.   

    INSERT INTO table_name VALUES (…含中文…);
    INSERT INTO table_name VALUES (…含中文…);
    INSERT INTO table_name VALUES (…含中文…);
    INSERT INTO table_name VALUES (…含中文…);
    ……
    像上面这样一次性载入就会乱码
    而像下面把它看成一条sql就不会
    INSERT INTO table_name VALUES (…含中文…),
    (…含中文…),
    (…含中文…),
    (…含中文…),
    ……;
      

  26.   

    把phpMyadmin中的表结构发出来看看。
    还有可能是数据库版本不同结果导致编码也不同。
    把/*!40101开头的都去掉再导入试试。
      

  27.   

    phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具
    你用什么工具管理数据可?
      

  28.   

    你的表tab_oper_log的编码应该有问题
      

  29.   

    我导出使用'>',导入就把'>'改成'<'是这样吗?
    这样试了,看到DOS命令有运行,然后消失,但是再看表记录还是没有改变(导出数据后把部分表数据清空,导入后没有反应)?
      

  30.   

    导入:mysql -uroot -p123 <aa.sql
    导出:"\mysql目录名\mysqldump.exe" -uroot -p.....
      

  31.   

    导入不需要指定数据库名吗,我看导出的sql中也没有知道数据库名,只有注释中有说是哪个数据库?
      

  32.   

    如果在备份的SQL文件中有USE XXX,就不需要,否则
    mysql -uxx -pxx  dbname<....
    具体的自行看看MYSQLDUMP、MYSQL的帮助
      

  33.   

    导出:"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe" -uroot -p123 TestDB >  "C:\sqldata\MYSQLDB\TestDB.sql" 
    导入:mysql -uroot -p123 TestDB <  "C:\sqldata\MYSQLDB\TestDB.sql" 导出成功了,导入失败?
      

  34.   

    mysql -uroot -p123 TestDB <  "C:\sqldata\MYSQLDB\TestDB.sql" 
    直接在系统命令行下运行,看看提示什么,怎么判断导入失败?
      

  35.   

    我是写成.bat文件运行的;
    运行后dos窗体瞬间没了,数据库还是老样子
      

  36.   

    mysql -uroot -p123 TestDB <C:\sqldata\MYSQLDB\TestDB.sql
    再运行直接在系统命令行下运行
      

  37.   

    后面去掉双引号运行后也是一样失败
    放dos命令下运行提示“不是内部或外部命令……”