Mysql logs start and view the following types of mysql logs:
Error log:-log-err
Query log:-log
Slow query log:-log-slow-queries
Update log:-log-update
Binary log:-log-bin
By default, all logs are created in the mysqld data directory. By refreshing logs, you can force mysqld to close and reopen the log file (or switch to a new log in some cases ). When you execute a flush logs statement or mysqladmin flush-logs or mysqladmin refresh, the log is refreshed.
1. error log
Use the -- log-error [= file_name] option to specify the location where mysqld saves the error log file. If the file_name value is not specified, mysqld uses the error log name host_name.err and writes the log file to the data directory. If you execute flush logs, the error log uses-old to rename the suffix and mysqld to create a new empty log file. (If the -- log-error option is not provided, it will not be renamed ).
If -- log-error is not specified, or (in Windows) if you use the -- console option, the error is written to stderr. Standard output is usually your terminal.
2. general query logs
Use the -- log [= file_name] or-l [file_name] option to start it. If the file_name value is not specified, the default name is host_name.log.
3. slow query logs
When the -- log-slow-queries [= file_name] option is enabled, mysqld writes a log file containing all SQL statements whose execution time exceeds long_query_time. if the file_name value is not given, no host name is provided by default, and the suffix is-slow. log. If the file name is provided but not the absolute path name, the file is written to the data directory.
3. Update logs
Start with the -- log-update [= file_name] option. it is not recommended.
Whether logs are enabled
Mysql> show variables like 'log _ % ';
How to know the current log
Mysql> show master status;
Displays binary log data
Mysql> show master logs;
Use mysqlbinlog to view binary log files
Shell> mysqlbinlog mail-bin.000001
Or shell> mysqlbinlog mail-bin.000001 | tail
Specify the log output location in the configuration file.
Windows: the configuration file for Windows is my. ini, which is usually in the MySQL installation directory or c:/Windows.
Linux: the configuration file of Linux is my. cnf, which is usually in/etc.
In linux:
SQL code
# Merge in [mysqld]
# Log
Log-error =/usr/local/mysql/log/error. log
Log =/usr/local/mysql/log/mysql. log
Long_query_time = 2
Log-slow-queries =/usr/local/mysql/log/slowquery. log
# Logging in [mysqld] # log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql/log/slowquery.log
Windows:
SQL code
# Merge in [mysqld]
# Log
Log-error = "E:/PROGRA ~ 1/EASYPH ~ 1.0B1/mysql/logs/error. log"
Log = "E:/PROGRA ~ 1/EASYPH ~ 1.0B1/mysql/logs/mysql. log"
Long_query_time = 2
Log-slow-queries = "E:/PROGRA ~ 1/EASYPH ~ 1.0B1/mysql/logs/slowquery. log"
# Logging in [mysqld] # log
log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
long_query_time=2
log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"
Enable slow query
Long_query_time = 2 -- indicates how long the SQL statement will be logged after execution. here, it is 2 seconds.
Log-slow-queries =/usr/local/mysql/log/slowquery. log -- records slow statements returned by the query.
Log-queries-not-using-indexes = nouseindex. log -- it is a literal meaning that the query with no index is used in the log.
Log = mylog. log -- record all execution statements
Enable mysql log in windows:
Add these values under [mysql] (basically equal to adding them to the end ):
Log-error =
# Enter a name for the query log file. Otherwise a default namewill be used.
# Note: (writing the txt file editplus can be reloaded in time, but it can be reloaded only when it is stored on drive C)
Log = c:/mysql_query.log.txt
# Enter a name for the slow query log file. Otherwise a default name will be used.
Log-slow-queries =
# Enter a name for the update log file. Otherwise a default name will be used.
Log-update =
# Enter a name for the binary log. Otherwise a default name will be used.
Log-bin =