2017-10-16 Ответ
1. Журнал ошибок
Журнал ошибок находится по адресуmysqlданныеБиблиотека очень важна,Он записывает начало и остановку mysqld.,и информацию обо всех ошибках, произошедших во время работы сервера.
1. Информация о конфигурации
--log-error=[имя-файла] используется для указания места хранения журнала ошибок.
Если [имя_файла] не указано, имя_хоста.err используется в качестве имени файла и по умолчанию сохраняется в каталоге datadir.
Вы также можете настроить log-error в файле my.cnf, что избавляет от необходимости вручную указывать –log-error каждый раз при запуске mysqld. Например:
[mysql@test2]$ vi /etc/my.cnf
# the mysql server
[mysqld]
….
log-error = /var/lib/mysql/test2_mysqld.err
…..
2. Шаблон сообщения об ошибке
080313 05:21:55 mysqld started
080313 5:21:55 innodb: started; log sequence number 0 43655
080313 5:21:55 [note] /usr/local/mysql/bin/mysqld: ready for connections.
version: ‘5.0.26-standard-log’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 mysql community edition – standard (gpl)
080313 5:24:13 [note] /usr/local/mysql/bin/mysqld: normal shutdown
080313 5:24:13 innodb: starting shutdown…
080313 5:24:16 innodb: shutdown completed; log sequence number 0 43655
080313 5:24:16 [note] /usr/local/mysql/bin/mysqld: shutdown complete
080313 05:24:16 mysqld ended
080313 05:24:47 mysqld started
080313 5:24:47 innodb: started; log sequence number 0 43655
080313 5:24:47 [note] /usr/local/mysql/bin/mysqld: ready for connections.
version: ‘5.0.26-standard-log’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 mysql community edition – standard (gpl)
080313 5:33:49 [note] /usr/local/mysql/bin/mysqld: normal shutdown
3. Журнал запросов
В журнале запросов записываются все операторы clinet.
Примечание. Поскольку в журнал записываются все операции с базой данных, для систем с частым доступом этот тип журнала будет влиять на производительность, и его рекомендуется отключить.
1. Информация о конфигурации
--log=[имя-файла] используется для указания места хранения журнала ошибок.
Если [имя_файла] не указано, имя хоста используется в качестве имени файла по умолчанию и сохраняется в каталоге datadir по умолчанию.
Вы также можете настроить журнал в файле my.cnf, что избавляет от необходимости вручную указывать –log при каждом запуске mysqld. Например:
# the mysql server
[mysqld]
……
#query-log
log = /var/lib/mysql/query_log.log
……
2. Прочтите журнал запросов.
Журнал запросов находится в текстовом формате, и его можно открыть и просмотреть непосредственно с помощью инструмента чтения текста ОС. Например:
[mysql@test2]$ tail -n 15 query_log.log
080313 7:58:28 17 query show tables
080313 8:07:45 17 quit
080313 10:01:48 18 connect root@localhost on
080313 10:02:38 18 query select database()
18 init db test
080313 10:02:42 18 query show tables
080313 10:03:07 18 query select * from pet
080313 10:06:26 18 query insert into pet values(‘hunter’,’yxyup’,’cat’,’f’,’1996-04-29′,null)
080313 10:06:39 18 query select * from pet
080313 10:07:13 18 query update pet set sex=’m’ where name=’hunter’
080313 10:07:38 18 query delete from pet where name=’hunter’
080313 10:13:48 18 query desc test8
080313 10:14:13 18 query create table t1(id int,name char(10))
080313 10:14:41 18 query alter table t1 add sex char(2)
[mysql@test2]$
4. Медленный журнал запросов
В журнал медленных запросов записываются журналы операторов SQL, время выполнения которых превышает значение, установленное параметром long_query_time (единица измерения — секунды).
Примечание. Журнал медленных запросов очень полезен для обнаружения SQL с проблемами производительности. Рекомендуется часто использовать и анализировать его.
1. Информация о конфигурации
--log-slow-queries=[имя-файла] используется для указания места хранения журналов ошибок.
Если [имя_файла] не указано, имя_хоста-slow.log используется в качестве имени файла по умолчанию и сохраняется в каталоге datadir по умолчанию.
Вы также можете настроить log-slow-queries в файле my.cnf, что избавляет от необходимости вручную указывать –log-slow-queries каждый раз при запуске mysqld. Например:
# the mysql server
[mysqld]
……
#slow-query-log
log-slow-queries = /var/lib/mysql/slow_query_log.log
……
2. Прочтите журнал медленных запросов.
[mysql@test2]$ cat slow_query_log.log
/usr/local/mysql/bin/mysqld, version: 5.0.26-standard-log. started with:
tcp port: 3306 unix socket: /var/lib/mysql/mysql.sock
time id command argument
# time: 080313 5:41:46
# user@host: root[root] @ localhost []
# query_time: 108 lock_time: 0 rows_sent: 0 rows_examined: 8738
use test;
select count(1) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name;
# time: 080313 5:52:04
# user@host: root[root] @ localhost []
# query_time: 583 lock_time: 0 rows_sent: 0 rows_examined: 508521177
select count(1) from t1 a, t1 b where a.id=b.id;
/usr/local/mysql/bin/mysqld, version: 5.0.26-standard-log. started with:
tcp port: 3306 unix socket: /var/lib/mysql/mysql.sock
time id command argument
# time: 080313 10:39:59
# user@host: root[root] @ localhost []
# query_time: 11 lock_time: 0 rows_sent: 4537467 rows_examined: 4537467
use test;
select id from tail;
Если в журнале имеется много записей медленных запросов, вы можете использовать mysqldumpslow для их классификации и суммирования.
[mysql@test2]$ mysqldumpslow slow_query_log.log
reading mysql slow query log from slow_query_log.log
count: 1 time=583.00s (583s) lock=0.00s (0s) rows=0.0 (0), root[root]@localhost
select count(n) from t1 a, t1 b where a.id=b.id
count: 1 time=108.00s (108s) lock=0.00s (0s) rows=0.0 (0), root[root]@localhost
select count(n) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name
count: 1 time=11.00s (11s) lock=0.00s (0s) rows=4537467.0 (4537467), root[root]@localhost
select id from tail;
MySQL имеет следующие журналы:
Журнал ошибок: -log-err
Журнал запросов: -log
Журнал медленных запросов: -log-slow-queries
Журнал обновлений: -log-update
Двоичный журнал: -log-bin
В каталоге установки mysql откройте my.ini, добавьте в конец указанные выше параметры, сохраните и перезапустите службу mysql.
Например:
#enter a name for the binary log. otherwise a default name will be used.
#log-bin=
#enter a name for the query log file. otherwise a default name will be used.
#log=
#enter a name for the error log file. otherwise a default name will be used.
log-error=
#enter a name for the update log file. otherwise a default name will be used.
#log-update=
Проверьте дату:
1. Сначала убедитесь, что ваш журнал включен.
mysql>show variables like ‘log_bin’;
Если включено, то включено
Файл журнала находится в каталоге данных каталога установки MySQL.
имя файла журнала cat/tail
2. Как узнать текущий журнал
mysql> show master status;
3. Просмотр журналов за определенный период времени за определенный период времени
mysqlbinlog –start-datetime=’2008-01-19 00:00:00′
–stop-datetime=’2008-01-30 00:00:00′ /var/log/mysql/mysql-bin.000006
> mysqllog1.log
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/182158.html Исходная ссылка: https://javaforall.cn