如题。
请教各位,如何把binlog.000001二进制日志文件转换成文本文件;在网上找了一些的方法。进行转换,文件是出来了。可是不是
binlog.000004 4 Format_desc 1 98 Server ver: 5.0.18-nt-log, Binlog ver: 4
binlog.000004 243 Intvar 1 271 INSERT_ID=0
binlog.000004 425 Query 1 570 use `mytest`; update managervisitinfo set visitCount=visitCount+1 where visitIP='192.168.4.21'
这些数据。[[email protected]][/email]

解决方案 »

  1.   

    mysqlbinlog 工具就可以了;如:
    mysqlbinlog binlog.000004 > /path/to/filename.txt
      

  2.   

    binlog的格式也有三种:STATEMENT,ROW,MIXED。 MBR 模式中,SBR 模式是默认的如果用的是基于行的日志则mysqlbinlog -vv  XXX.log
      

  3.   

    用mysqlbinlog binlog.000001>c:\test.txt;转换时提示outfile disabled转换不成功!这是怎么回事咯!
    当我在系统命令提示转换可以,但是数据不对了!
      

  4.   

    我在mysqlbinlog中这样执行转换时提示outfile disabled转换不成功!这是怎么回事咯!
    当我在系统命令提示转换可以,但是数据不对了!
      

  5.   

    mysql中操作:
    create table aname1 (name1 varchar(12) character set gbk,name2 varchar(12) character set utf8)二进制操作:
    D:\MySQL Server 5.1\DATA>mysqlbinlog "mysql-bin.000001" > asd.txtasd的结果是:# at 106
    #110130 17:08:35 server id 1  end_log_pos 260  Query thread_id=7 exec_time=0 error_code=0
    use q/*!*/;
    SET TIMESTAMP=1296378515/*!*/;
    SET @@session.pseudo_thread_id=7/*!*/;
    SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
    SET @@session.sql_mode=0/*!*/;
    SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
    /*!\C utf8 *//*!*/;
    SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
    SET @@session.lc_time_names=0/*!*/;
    SET @@session.collation_database=DEFAULT/*!*/;
    create table aname1 (name1 varchar(12) character set gbk,name2 varchar(12) character set utf8)
    /*!*/;
    DELIMITER ;
    # End of log file
    ROLLBACK /* added by mysqlbinlog */;
    这样..
    /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
      

  6.   

    mr_mablevi:你好!是要先设置什么吗?你的方法看得不是很明白!求指点!谢谢!
      

  7.   


    不需要设置啊,有mysqlbinlog 这个工具即可/
      

  8.   

    在手册中直接查看  如何mysqlbinlog 
      

  9.   

    qingyunluck (qingyunluck)
      '截至2011-01-30 16:18:27  用户结帖率0.00% 当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖
      

  10.   

    就直接在命令提示中D:\MySQL Server 5.1\DATA>mysqlbinlog "mysql-bin.000001" > asd.txt输入这句吗!
      

  11.   


    就直接在命令提示中D:\MySQL Server 5.1\DATA>mysqlbinlog "mysql-bin.000001" > asd.txt输入这句吗!
    直接用这句得到的结果:MySQL  Ver 14.12 Distrib 5.0.18, for Win32 (ia32)
    Copyright (C) 2002 MySQL AB
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to modify and redistribute it under the GPL license
    Usage: MySQL [OPTIONS] [database]
      -?, --help          Display this help and exit.
      -I, --help          Synonym for -?
      --auto-rehash       Enable automatic rehashing. One doesn't need to use
                          'rehash' to get table and field completion, but startup
                          and reconnecting may take a longer time. Disable with
                          --disable-auto-rehash.
      -A, --no-auto-rehash 
                          No automatic rehashing. One has to use 'rehash' to get
                          table and field completion. This gives a quicker start of
                          mysql and disables rehashing on reconnect. WARNING:
                          options deprecated; use --disable-auto-rehash instead.
      -B, --batch         Don't use history file. Disable interactive behavior.
                          (Enables --silent)
      --character-sets-dir=name 
                          Directory where character sets are.
      --default-character-set=name 
                          Set the default character set.
      -C, --compress      Use compression in server/client protocol.
      -#, --debug[=#]     This is a non-debug version. Catch this and exit
      -D, --database=name Database to use.
      --delimiter=name    Delimiter to be used.
      -e, --execute=name  Execute command and quit. (Disables --force and history
                          file)
      -E, --vertical      Print the output of a query (rows) vertically.
      -f, --force         Continue even if we get an sql error.
      -g, --no-named-commands 
                          Named commands are disabled. Use \* form only, or use
                          named commands only in the beginning of a line ending
                          with a semicolon (;) Since version 10.9 the client now
                          starts with this option ENABLED by default! Disable with
                          '-G'. Long format commands still work from the first
                          line. WARNING: option deprecated; use
                          --disable-named-commands instead.
      -G, --named-commands 
                          Enable named commands. Named commands mean this program's
                          internal commands; see mysql> help . When enabled, the
                          named commands can be used from any line of the query,
                          otherwise only from the first line, before an enter.
                          Disable with --disable-named-commands. This option is
                          disabled by default.
      -i, --ignore-spaces Ignore space after function names.
      --local-infile      Enable/disable LOAD DATA LOCAL INFILE.
      -b, --no-beep       Turn off beep on error.
      -h, --host=name     Connect to host.
      -H, --html          Produce HTML output.
      -X, --xml           Produce XML output
      --line-numbers      Write line numbers for errors.
      -L, --skip-line-numbers 
                          Don't write line number for errors. WARNING: -L is
                          deprecated, use long version of this option instead.
      --no-tee            Disable outfile. See interactive help (\h) also. WARNING:
                          option deprecated; use --disable-tee instead
      -n, --unbuffered    Flush buffer after each query.
      --column-names      Write column names in results.
      -N, --skip-column-names 
                          Don't write column names in results. WARNING: -N is
                          deprecated, use long version of this options instead.
      -O, --set-variable=name 
                          Change the value of a variable. Please note that this
                          option is deprecated; you can set variables directly with
                          --variable-name=value.
      --sigint-ignore     Ignore SIGINT (CTRL-C)
      -o, --one-database  Only update the default database. This is useful for
                          skipping updates to other database in the update log.
      -p, --password[=name] 
                          Password to use when connecting to server. If password is
                          not given it's asked from the tty.
      -W, --pipe          Use named pipes to connect to server.
      -P, --port=#        Port number to use for connection.
      --prompt=name       Set the mysql prompt to this value.
      --protocol=name     The protocol of connection (tcp,socket,pipe,memory).
      -q, --quick         Don't cache result, print it row by row. This may slow
                          down the server if the output is suspended. Doesn't use
                          history file.
      -r, --raw           Write fields without conversion. Used with --batch.
      --reconnect         Reconnect if the connection is lost. Disable with
                          --disable-reconnect. This option is enabled by default.
      -s, --silent        Be more silent. Print results with a tab as separator,
                          each row on new line.
      --shared-memory-base-name=name 
                          Base name of shared memory.
      -S, --socket=name   Socket file to use for connection.
      -t, --table         Output in table format.
      -T, --debug-info    Print some debug info at exit.
      --tee=name          Append everything into outfile. See interactive help (\h)
                          also. Does not work in batch mode.
      -u, --user=name     User for login if not current user.
      -U, --safe-updates  Only allow UPDATE and DELETE that uses keys.
      -U, --i-am-a-dummy  Synonym for option --safe-updates, -U.
      -v, --verbose       Write more. (-v -v -v gives the table output format).
      -V, --version       Output version information and exit.
      -w, --wait          Wait and retry if connection is down.
      --connect_timeout=# Number of seconds before connection timeout.
      --max_allowed_packet=# 
                          Max packet length to send to, or receive from server
      --net_buffer_length=# 
                          Buffer for TCP/IP and socket communication
      --select_limit=#    Automatic limit for SELECT when using --safe-updates
      --max_join_size=#   Automatic limit for rows in a join when using
                          --safe-updates
      --secure-auth       Refuse client connecting to server if it uses old
                          (pre-4.1.1) protocol
      --show-warnings     Show warnings after every statement.Default options are read from the following files in the given order:
    C:\my.ini C:\my.cnf C:\WINDOWS\my.ini C:\WINDOWS\my.cnf D:\MySQL Server 5.0\my.ini D:\MySQL Server 5.0\my.cnf 
    The following groups are read: mysql client
    The following options may be given as the first argument:
    --print-defaults Print the program argument list and exit
    --no-defaults Don't read default options from any options file
    --defaults-file=# Only read default options from the given file #
    --defaults-extra-file=# Read this file after the global files are readVariables (--variable-name=value)
    and boolean options {FALSE|TRUE}  Value (after reading options)
    --------------------------------- -----------------------------
    auto-rehash                       TRUE
    character-sets-dir                (No default value)
    default-character-set             utf8
    compress                          FALSE
    database                          (No default value)
    delimiter                         ;
    vertical                          FALSE
    force                             FALSE
    named-commands                    FALSE
    local-infile                      FALSE
    no-beep                           FALSE
    host                              (No default value)
    html                              FALSE
    xml                               FALSE
    line-numbers                      TRUE
    unbuffered                        FALSE
    column-names                      TRUE
    sigint-ignore                     FALSE
    port                              3308
    prompt                            mysql> 
    quick                             FALSE
    raw                               FALSE
    reconnect                         FALSE
    shared-memory-base-name           (No default value)
    socket                            (No default value)
    table                             FALSE
    debug-info                        FALSE
    user                              (No default value)
    safe-updates                      FALSE
    i-am-a-dummy                      FALSE
    connect_timeout                   0
    max_allowed_packet                16777216
    net_buffer_length                 16384
    select_limit                      1000
    max_join_size                     1000000
    secure-auth                       FALSE
    show-warnings                     FALSE
      

  12.   

    D:\MySQL Server 5.1\bin\mysqlbinlog 前面改成这样`
      

  13.   

    D:\MySQL Server 5.1\bin\mysqlbinlog "binlog.000001">test2.txt;转换过来的。还是和上面的结果一样!~郁闷呀!
      

  14.   

    楼主 仔细看 6楼的内容,
    create table aname1 (name1 varchar(12) character set gbk,name2 varchar(12) character set utf8)
    和 红字标明 的地方
      

  15.   

    环境变量设置对了么?
    直接应该可以在cmd里面 打入 mysqlbinlog...
      

  16.   

    D:\>MySQL Server 5.0\bin\mysqlbinlog "binlog.000009">test9.txt;
    test9.txt的数据结果还是和上面的一样。
    nvaicat查询出来的结果是:
    binlog.000009 4 Format_desc 1 98 Server ver: 5.0.18-nt-log, Binlog ver: 4
    binlog.000009 98 Query 1 262 use `mytest`; create table aname2 (name1 varchar(12) character set gbk,name2 varchar(12) character set utf8)/*!*/
    binlog.000009 262 Query 1 344 use `mytest`; drop table aname1
    binlog.000009 344 Query 1 426 use `mytest`; drop table aname2
    binlog.000009 426 Query 1 585 use `mytest`; create table aname1 (name1 varchar(12) character set gbk,name2 varchar(12) character set utf8)
      

  17.   

    楼主你先输入如下命令 , 注意仅是粗体部分。D:>  cd "d:\MySQL Server 5.0\bin"
    D:\MySQL Server 5.0\bin> mysqlbinlog "binlog.000009">test9.txt
      

  18.   

    Microsoft Windows [版本 5.2.3790]
    (C) 版权所有 1985-2003 Microsoft Corp.C:\Documents and Settings\Administrator>cd "d:\mysql server 5.0\bin"C:\Documents and Settings\Administrator>D:D:\MySQL Server 5.0\bin>mysqlbinlog "binlog.000009">t9.txt;
    mysqlbinlog: File 'binlog.000009;' not found (Errcode: 2)D:\MySQL Server 5.0\bin>
      

  19.   

    D:\MySQL Server 5.0\bin>mysqlbinlog "x:\xxxx\xxxx\data\binlog.000009">t9.txt红色部分改成你的实际目录! 另外不需要加分号。楼主需要学习一下基础的命令行操作。