测试环境下mysql的日志有吗,另外测试环境的MySQL直接执行语句是否ok。
上面的错误日志显示SQL语句错误,建议开启测试环境MySQL的SQL语句记录,看看到底执行了什么语句。

解决方案 »

  1.   


    测试环境下的mysql日志正常,没有任何反应,使用sqlyog单独执行sql语句ok。
    sql语句执行ok没有问题了。
      

  2.   

    show variables like '%time%';检查一下变量设置。
      

  3.   


    测试环境下的mysql日志正常,没有任何反应,使用sqlyog单独执行sql语句ok。
    sql语句执行ok没有问题了。
    我的意思是编辑/etc/my.cnf文件,在[mysqld]节下面添加:log=/var/lib/mysql/sql_row.log行,把MySQL执行过的SQL语句都记录下来。一个是看看你的SQL语句有没有正确传入MySQL并执行(确定问题是发生在MySQL还是程序),另外一个是程序会不会自动修改SQL语句导致错误(我曾经碰到过这种情况:preparedstatement会自动给传入的参数前后加上引号,结果导致我的SQL语句执行错误)。
      

  4.   

    mysql> show variables like '%time%';
    +---------------------------------+-------------------+
    | Variable_name                   | Value             |
    +---------------------------------+-------------------+
    | binlog_max_flush_queue_time     | 0                 |
    | connect_timeout                 | 20                |
    | datetime_format                 | %Y-%m-%d %H:%i:%s |
    | delayed_insert_timeout          | 300               |
    | explicit_defaults_for_timestamp | ON                |
    | flush_time                      | 0                 |
    | innodb_flush_log_at_timeout     | 1                 |
    | innodb_lock_wait_timeout        | 30                |
    | innodb_old_blocks_time          | 1000              |
    | innodb_rollback_on_timeout      | OFF               |
    | interactive_timeout             | 28800             |
    | lc_time_names                   | en_US             |
    | lock_wait_timeout               | 31536000          |
    | long_query_time                 | 1.000000          |
    | net_read_timeout                | 30                |
    | net_write_timeout               | 60                |
    | slave_net_timeout               | 30                |
    | slow_launch_time                | 2                 |
    | system_time_zone                | CST               |
    | time_format                     | %H:%i:%s          |
    | time_zone                       | SYSTEM            |
    | timed_mutexes                   | OFF               |
    | timestamp                       | 1425968042.347189 |
    | wait_timeout                    | 28800             |
    +---------------------------------+-------------------+
    24 rows in set (0.00 sec)mysql> 
      

  5.   

    把这几个 %timeout  的参数调大。