可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出--log-error选项,则不会重新命名)。上面那段时我从联机丛书中摘下来的,
我的问题是: --log-error=***  已经被我注销掉了,mysql也重启过了,错误日志名字也变成host_name.err 的格式了,但是我FLUSH LOGS后 还会出现 一个新的错误日志 以及-old重新命名的日志
请大家帮我分析下原因

解决方案 »

  1.   

    show variables like '%log%';贴出来看一下。
      

  2.   

     Variable_name                   | Value                                              |
    +---------------------------------+----------------------------------------------------+
    | back_log                        | 200                                                |
    | binlog_cache_size               | 32768                                              |
    | binlog_format                   | STATEMENT                                          |
    | expire_logs_days                | 0                                                  |
    | general_log                     | OFF                                                |
    | general_log_file                | /mysqldata/mysql/data/mysql3311.log      |
    | log                             | OFF                                                |
    | log_bin                         | ON                                                 |
    | log_bin_trust_function_creators | OFF                                                |
    | log_bin_trust_routine_creators  | OFF                                                |
    | log_error                       | /mysqldata/mysql/data/hostname.err    |
    | log_output                      | FILE                                               |
    | log_queries_not_using_indexes   | OFF                                                |
    | log_slave_updates               | OFF                                                |
    | log_slow_queries                | ON                                                 |
    | log_warnings                    | 1                                                  |
    | max_binlog_cache_size           | 18446744073709547520                               |
    | max_binlog_size                 | 52428800                                           |
    | max_relay_log_size              | 0                                                  |
    | relay_log                       |                                                    |
    | relay_log_index                 |                                                    |
    | relay_log_info_file             | relay-log.info                                     |
    | relay_log_purge                 | ON                                                 |
    | relay_log_space_limit           | 0                                                  |
    | slow_query_log                  | ON                                                 |
    | slow_query_log_file             | /mysqldata/mysql/data/mysql3311_slow.log |
    | sql_log_bin                     | ON                                                 |
    | sql_log_off                     | OFF                                                |
    | sql_log_update                  | ON                                                 |
    | sync_binlog                     | 0                                                  |
    +---------------------------------+----------------------------------------------------+
      

  3.   

    | log_error                       | /mysqldata/mysql/data/hostname.err    |很显然,你的log_error 并没有改啊!
    应该是 log_error = 
    后面为空才对。
      

  4.   

    可是在配置文件里 # --log-error=*** 已经被我注销掉了 
      

  5.   

    我重启过了 | log_error | /mysqldata/mysql/data/hostname.err |以前我的err名字是 mysql.err 重启后就是 机器名.err了。
    联机丛书里不是提到  如果没有给定file_name值,mysqld使用错误日志名host_name.err为什么 ACMAIN_CHM ????????
      

  6.   

    | log_bin_trust_routine_creators  | OFF              |
    | log_error                       | C:\Program Files\MySQL\MySQL Server 5.1\DATA\xxxxxxxx.err |
    | log_output                      | FILE
    这是应该是你的主机名,而不是什么hostname 除非你的主机名就是 hostname
      

  7.   

    我明白这一点  我用hostname 替代了真实的主机名 而已