2012-03-26 11 views
19

私のアプリケーションで実行されているクエリを見るために、MySQLのログをチェックしたいと思います。これどうやってするの?私はXAMPPを使用しており、MySQLへのディレクトリはC:\ xampp \ mysqlです。MySQLログを開始して確認するにはどうしたらいいですか?

これは私がshow variables like '%log%';

mysql> show variables like '%log%'; 
+---------------------------------+------------------------------------+ 
| Variable_name     | Value        | 
+---------------------------------+------------------------------------+ 
| back_log      | 50         | 
| binlog_cache_size    | 32768        | 
| binlog_format     | STATEMENT       | 
| expire_logs_days    | 0         | 
| general_log      | OFF        | 
| general_log_file    | C:/xampp/mysql/data/mysql.log  | 
| innodb_flush_log_at_trx_commit | 1         | 
| innodb_locks_unsafe_for_binlog | OFF        | 
| innodb_log_buffer_size   | 8388608       | 
| innodb_log_file_size   | 5242880       | 
| innodb_log_files_in_group  | 2         | 
| innodb_log_group_home_dir  | C:\xampp\mysql\data\    | 
| innodb_mirrored_log_groups  | 1         | 
| log        | OFF        | 
| log_bin       | OFF        | 
| log_bin_trust_function_creators | OFF        | 
| log_bin_trust_routine_creators | OFF        | 
| log_error      | C:\xampp\mysql\data\mysql.err  | 
| 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     | 1073741824       | 
| 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    | C:/xampp/mysql/data/mysql-slow.log | 
| sql_log_bin      | ON         | 
| sql_log_off      | OFF        | 
| sql_log_update     | ON         | 
| sync_binlog      | 0         | 
+---------------------------------+------------------------------------+ 
37 rows in set (0.00 sec) 
+0

あなたが探しているものを、このですか? http://stackoverflow.com/questions/9871718/how-can-i-start-and-check-my-mysql-log –

+0

一般的なログファイルは、ここにあります: 'C:/xampp/mysql/data/mysql.log '、エラーログファイルは' C:\ xampp \ mysql \ data \ mysql.err'です。クエリログは 'C:/ xampp/mysql/data/mysql-slow.log'です。 – hjpotter92

答えて

28

C:/xampp/mysql/data/mysql.logオープン今

SET GLOBAL general_log = 'ON'; 

mysqlコマンドラインで次のクエリで一般クエリログを有効にして、クエリログ

をチェックし、それが失敗した場合、あなたのmy.cnfファイルを開きます。ウィンドウの場合はmy.iniファイルを開き、そこで有効にします。その[mysqld]セクション

[mysqld] 
general_log    = 1 

に注意だけを確認してください:XAMPP my.iniファイルでは私にとって

+0

それは言う: ERROR 1227(42000):アクセスが拒否されました。この操作のためにSUPER特権が必要です on –

+0

@ Johnathanあなたはこれを行うには 'root'(mysql' root'ユーザ)である必要があります。 –

+1

ねえ、あなたはPCのルートですか?それ、どうやったら出来るの? –

0

xampp\mysqlまたはc:\windowsディレクトリで見つけることができますいずれか、general_logは働いていませんでした。しかし、これをmy.iniに追加すると、

[mysqld] 
log-output=FILE 
slow_query_log = 1 
slow_query_log_file = "d:/temp/developer.log" 
0

がOFFICIAL MYSQLのウェブサイトで公開されています。

SET GLOBAL general_log = 'ON'; 

また、カスタムパスを使用することができます。

[mysqld] 
# Set Slow Query Log 
long_query_time = 1 
slow_query_log = 1 
slow_query_log_file = "C:/slowquery.log" 

#Set General Log 
log = "C:/genquery.log" 
関連する問題