我需要打开/启用它。我在网上发现了一些信息但现在很困惑,我不知道从哪里开始。
这是我到目前为止所拥有的。我以root身份登录MySQL并执行了:
show variables like '%log%';
得到了:
Variable_name | Value |
+---------------------------------+----------------------------------+
| back_log | 50 |
| binlog_cache_size | 32768 |
| binlog_format | STATEMENT |
| expire_logs_days | 10 |
| general_log | ON |
| general_log_file | /var/lib/mysql/helloise.log |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_buffer_size | 1048576 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_mirrored_log_groups | 1 |
| log | ON |
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| log_bin_trust_routine_creators | OFF |
| log_error | /var/log/mysql/error.log |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_warnings | 1 |
| max_binlog_cache_size | 4294963200 |
| max_binlog_size | 104857600 |
| 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 | OFF |
| slow_query_log_file | /var/lib/mysql/helloise-slow.log |
| sql_log_bin | ON |
| sql_log_off | OFF |
| sql_log_update | ON |
| sync_binlog | 0
我做了:SET GLOBAL general_log = 1来设置general_log = ON。是否所有查询都将记录在/var/lib/mysql/helloise.log中?
当我尝试通过helloises@helloise:/var/lib$ cd mysql/
访问mysql目录时,我获得了许可被拒绝
然后我还有一个日志目录:
helloises@helloise:/var/log$
包含大量日志文件ex:mysql.log
哪个日志文件将包含我的查询,以便我可以跟踪我的数据库正在执行的操作并查看查询需要多长时间?
答案 0 :(得分:0)
你所有人都被拒绝了,因为你没有阅读权限。试试
ls -l
在该文件上,查看已定义的权限。然后yuo可以使用chmod来更改权限。或者只是尝试以root用户身份读取该文件。
常规日志是查询日志的日志记录功能,从指南中读取:
通用查询日志是mysqld正在做什么的一般记录。该 客户端连接时,服务器将信息写入此日志 断开连接,并记录从客户端收到的每个SQL语句。该 当您怀疑a中的错误时,通用查询日志非常有用 客户端并想知道客户端发送给mysqld的确切内容。
错误日志:
错误日志包含指示mysqld何时启动的信息 并停止以及服务器发生的任何严重错误 在跑。如果mysqld注意到需要自动生成的表 检查或修复后,它会将消息写入错误日志。
为了解这些差异,我建议您阅读该网站: http://dev.mysql.com/doc/refman/5.1/en/server-logs.html
包含查询的文件是/var/lib/mysql/helloise.log中的文件
对于慢查询日志,您可以检查:
http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html
它记录所有占用时间超过long_query_time秒的查询(该变量必须由您自己定义)。我没有找到一种方法来显示查询的执行时间,但检查页面http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html它可以帮助您如何配置常规/慢速查询日志。 希望这有帮助。