Maison base de données tutoriel mysql mysql学习记录(二十五)--mysql日志_MySQL

mysql学习记录(二十五)--mysql日志_MySQL

May 30, 2016 pm 05:10 PM
日志

一、理论:
1.错误日志:
a.记录了mysqld启动和停止时以及出错时的相关信息,当数据库出现故障导致无法启动时可以先查看此信息。
b.可用--log-error来指定mysqld保存错误日志文件的位置
2.二进制日志:
a.statement:记录的都是语句。优点:日志记录清晰易读、日志量少、对I/O影响较小,缺点:在某些情况下slave的日志复制会出错
b.row:将每一行的变更记录到日志中,而不是记录sql语句。优点:记录每一行的数据变化细节,不会出现某些情况下无法复制的情况,缺点:日志量大,对I/O影响较大
c.mixed:目前mysql的默认日志格式。尽可能对上两种模式的优点加以利用而避开它们的缺点
d.可以在global和session级别对binlog_format进行日志格式的操作,确保从库的复制能够正常进行
3.日志的读取:
a.mysqlbinlog工具
4.日志的删除:
a.reset master.可以删除所有的binlog日志
b.purge master logs to 'mysql-bin.*',将删除*编号前的所有日志
c.purge master logs before 'yyyy-mm-dd hh24:mi:ss',将删除日期为指定日期之前的所有日志
d.--expire_logs_days=#:设置日志的过期天数
5.其他选项:
a.--binlog-do-db=db_name:仅更新db_name数据库记录到二进制日志中而不更新其他数据库
b.--binlog-ignore-db=db_name:忽略db_name数据库记录到二进制日志中
c.--innodb-safe-binlog:与--sync-binlog=N(每写N次日志同步磁盘)一起配合使用,使得事务在日志中的记录更加安全
d.sql_log_bin=0:具有super权限的客户端可以通过设置此值使得禁止将自己的操作写入二进制记录。但有可能会导致主从数据不一致
6.日志的读取:查询日志记录的格式是纯文本,所以可以直接进行读取
7.慢查询日志:
a.记录了所有时间超过long_query_time的设置值并且扫描记录数不小于in_examined_row_limit的所有sql语句的日志
b.默认情况下,管理语句和不使用索引进行查询的语句不会记录到慢查询日志
c.--slow_query_log指定慢查询的状态,--show_query_log_file指定慢查询输出的路径,--log-out指定输出慢查询的方式(输出到表则只能精确到秒,输出到文件则能精确到微秒)
8.日志的读取:
a.查询long_query_time的值:show variables like 'long%';
b.set long_query_time:设置long_query_time的值
c.more localhost-slow.log:查看慢查询日志的值
9.其他查看日志的相关工具:
a.mysqlsla:查看日志

b.sqlprofi,mysql-expain-slow-log,mysqllogfilter:分析日志

二、实践:

 

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> create table emp(
    -> id int(11),
    -> info varchar(20)
    -> ) engine = innnodb charset = utf8;
Query OK, 0 rows affected, 2 warnings (0.05 sec)

mysql> insert into emp values(1,'z1');
Query OK, 1 row affected (0.00 sec)

mysql> insert into emp values(1,'z2');
Query OK, 1 row affected (0.00 sec)

mysql> exit

abc@ubuntu:~/Downloads/mysql$ mysql -uroot -p123 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 98
Server version: 5.5.44-log Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> show global variables like '%log%';
+-----------------------------------------+---------------------------------------+
| Variable_name                           | Value                                 |
+-----------------------------------------+---------------------------------------+
| back_log                                | 50                                    |
| binlog_cache_size                       | 32768                                 |
| binlog_direct_non_transactional_updates | OFF                                   |
| binlog_format                           | STATEMENT                             |
| binlog_stmt_cache_size                  | 32768                                 |
| expire_logs_days                        | 14                                    |
| general_log                             | OFF                                   |
| general_log_file                        | /usr/local/mysql/data/ubuntu.log      |
| innodb_flush_log_at_trx_commit          | 2                                     |
| innodb_locks_unsafe_for_binlog          | OFF                                   |
| innodb_log_buffer_size                  | 8388608                               |
| innodb_log_file_size                    | 67108864                              |
| innodb_log_files_in_group               | 2                                     |
| innodb_log_group_home_dir               | ./                                    |
| innodb_mirrored_log_groups              | 1                                     |
| log                                     | OFF                                   |
| log_bin                                 | ON                                    |
| log_bin_trust_function_creators         | OFF                                   |
| log_error                               | /usr/local/mysql/data/mysql-error.log |
| log_output                              | FILE                                  |
| log_queries_not_using_indexes           | ON                                    |
| log_slave_updates                       | OFF                                   |
| log_slow_queries                        | ON                                    |
| log_warnings                            | 1                                     |
| max_binlog_cache_size                   | 18446744073709547520                  |
| max_binlog_size                         | 1073741824                            |
| max_binlog_stmt_cache_size              | 18446744073709547520                  |
| max_relay_log_size                      | 0                                     |
| relay_log                               |                                       |
| relay_log_index                         |                                       |
| relay_log_info_file                     | relay-log.info                        |
| relay_log_purge                         | ON                                    |
| relay_log_recovery                      | OFF                                   |
| relay_log_space_limit                   | 0                                     |
| slow_query_log                          | ON                                    |
| slow_query_log_file                     | /usr/local/mysql/data/mysql-slow.log  |
| sql_log_bin                             | ON                                    |
| sql_log_off                             | OFF                                   |
| sync_binlog                             | 1                                     |
| sync_relay_log                          | 0                                     |
| sync_relay_log_info                     | 0                                     |
+-----------------------------------------+---------------------------------------+
41 rows in set (0.02 sec)

    -> Ctrl-C -- exit!
Aborted
abc@ubuntu:~/Downloads/mysql$ mysqld --verbose --help | grep -A 1 'Default options'
151106 15:37:14 [Warning] option 'table_definition_cache': unsigned value 100 adjusted to 400
151106 15:37:14 [Note] mysqld (mysqld 5.5.44-log) starting as process 76330 ...
151106 15:37:14 [Warning] Can't create test file /usr/local/mysql/data/ubuntu.lower-test
151106 15:37:14 [Warning] Can't create test file /usr/local/mysql/data/ubuntu.lower-test
151106 15:37:14 [Warning] One can only use the --user switch if running as root

mysqld: File '/usr/local/mysql/data/mysql-bin.index' not found (Errcode: 13)
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 
151106 15:37:14 [ERROR] Aborting

abc@ubuntu:~/Downloads/mysql$ mysqld --verbose --help | grep -A 1 'Default options'
151106 15:37:32 [Warning] option 'table_definition_cache': unsigned value 100 adjusted to 400
151106 15:37:32 [Note] mysqld (mysqld 5.5.44-log) starting as process 76335 ...
151106 15:37:32 [Warning] Can't create test file /usr/local/mysql/data/ubuntu.lower-test
151106 15:37:32 [Warning] Can't create test file /usr/local/mysql/data/ubuntu.lower-test
151106 15:37:32 [Warning] One can only use the --user switch if running as root

mysqld: File '/usr/local/mysql/data/mysql-bin.index' not found (Errcode: 13)
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 
151106 15:37:32 [ERROR] Aborting

//以下文件就是mysql的本机上的配置文件
abc@ubuntu:~/Downloads/mysql$ vi /usr/local/mysql/etc/my.cnf 

mysql> select count(*) from payment p  left join customer c  on p.payment_id = c.customer_id;
+----------+
| count(*) |
+----------+
|    16049 |
+----------+
1 row in set (0.06 sec)

mysql> show variables like 'long%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 2.000000 |
+-----------------+----------+
1 row in set (0.00 sec)

mysql> set long_query_time = 0.05;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'long%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 0.050000 |
+-----------------+----------+
1 row in set (0.00 sec)

mysql> select count(*) from payment p  left join customer c  on p.payment_id = c.customer_id order by c.customer_id;
+----------+
| count(*) |
+----------+
|    16049 |
+----------+
1 row in set (0.07 sec)

mysql> Ctrl-C -- exit!
Aborted

abc@ubuntu:/usr/local/mysql/data$ sudo tail ./mysql-slow.log 
[sudo] password for abc: 
# Time: 151106 23:40:39
# User@Host: root[root] @ localhost []
# Query_time: 0.047216  Lock_time: 0.000099 Rows_sent: 1  Rows_examined: 16650
SET timestamp=1446882039;
select count(*) from payment p  left join customer c  on p.payment_id = c.customer_id;
# Time: 151106 23:41:02
# User@Host: root[root] @ localhost []
# Query_time: 0.075027  Lock_time: 0.000083 Rows_sent: 1  Rows_examined: 32699
SET timestamp=1446882062;
select count(*) from payment p  left join customer c  on p.payment_id = c.customer_id order by c.customer_id;
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD
Musée à deux points: toutes les expositions et où les trouver
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'ID d'événement 6013 dans Win10 ? Qu'est-ce que l'ID d'événement 6013 dans Win10 ? Jan 09, 2024 am 10:09 AM

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir rencontré le journal 6013 lorsqu'ils recherchent leurs propres journaux de gestion. Alors, que signifie ce code ? Qu'est-ce que le journal Win10 6013 : 1. Il s'agit d'un journal normal. Les informations contenues dans ce journal ne signifient pas que votre ordinateur a été redémarré, mais elles indiquent combien de temps le système a fonctionné depuis son dernier démarrage. Ce journal apparaîtra une fois par jour à 12 heures précises. Comment vérifier depuis combien de temps le système fonctionne ? Vous pouvez saisir les informations système dans cmd. Il y a une ligne dedans.

Taille du tampon de l'enregistreur, à quoi sert le journal Taille du tampon de l'enregistreur, à quoi sert le journal Mar 13, 2023 pm 04:27 PM

La fonction consiste à fournir des informations et des enregistrements d'utilisation en retour aux ingénieurs pour faciliter l'analyse des problèmes (utilisés pendant le développement car les utilisateurs eux-mêmes ne génèrent pas souvent des journaux de téléchargement, ils sont inutiles pour les utilisateurs) ; Le tampon de journalisation est une petite zone temporaire utilisée pour le stockage à court terme des vecteurs de modifications pour les journaux redo à écrire sur le disque. Une écriture de tampon de journal sur le disque est un lot de vecteurs de modification provenant de plusieurs transactions. Malgré cela, le vecteur de modification dans le tampon de journal est écrit sur le disque en temps quasi réel, et lorsque la session émet une instruction COMMIT, l'opération d'écriture dans le tampon de journal est effectuée en temps réel.

Dépannage des problèmes de journal des erreurs de l'événement 7034 dans Win10 Dépannage des problèmes de journal des erreurs de l'événement 7034 dans Win10 Jan 11, 2024 pm 02:06 PM

Les journaux de Win10 peuvent aider les utilisateurs à comprendre l'utilisation du système en détail. De nombreux utilisateurs doivent avoir vu de nombreux journaux d'erreurs lorsqu'ils recherchent leurs propres journaux de gestion. Alors, comment les résoudre ? Comment résoudre l'événement 7034 du journal Win10 : 1. Cliquez sur "Démarrer" pour ouvrir le "Panneau de configuration" 2. Recherchez "Outils d'administration" 3. Cliquez sur "Services" 4. Recherchez HDZBCommServiceForV2.0, cliquez avec le bouton droit sur "Arrêter le service" et modifiez-le. vers "Démarrage manuel "

Comment utiliser la journalisation dans ThinkPHP6 Comment utiliser la journalisation dans ThinkPHP6 Jun 20, 2023 am 08:37 AM

Avec le développement rapide d'Internet et des applications Web, la gestion des journaux devient de plus en plus importante. Lors du développement d’applications Web, la manière de rechercher et de localiser les problèmes est une question très critique. Un système de journalisation est un outil très efficace qui peut nous aider à accomplir ces tâches. ThinkPHP6 fournit un système de journalisation puissant qui peut aider les développeurs d'applications à mieux gérer et suivre les événements qui se produisent dans les applications. Cet article explique comment utiliser le système de journalisation dans ThinkPHP6 et comment utiliser le système de journalisation.

Explication détaillée de la commande d'affichage des journaux dans le système Linux ! Explication détaillée de la commande d'affichage des journaux dans le système Linux ! Mar 06, 2024 pm 03:55 PM

Sur les systèmes Linux, vous pouvez utiliser la commande suivante pour afficher le contenu du fichier journal : Commande tail : La commande tail est utilisée pour afficher le contenu à la fin du fichier journal. Il s'agit d'une commande courante pour afficher les dernières informations du journal. tail [option] [nom du fichier] Les options couramment utilisées incluent : -n : Spécifiez le nombre de lignes à afficher, la valeur par défaut est de 10 lignes. -f : Surveillez le contenu du fichier en temps réel et affichez automatiquement le nouveau contenu lorsque le fichier est mis à jour. Exemple : tail-n20logfile.txt#Afficher les 20 dernières lignes du fichier logfile.txt tail-flogfile.txt#Surveiller le contenu mis à jour du fichier logfile.txt en temps réel Commande head : La commande head permet d'afficher le début du fichier journal

Comment afficher l'historique de votre journal de médicaments dans l'application Santé sur iPhone Comment afficher l'historique de votre journal de médicaments dans l'application Santé sur iPhone Nov 29, 2023 pm 08:46 PM

iPhone vous permet d’ajouter des médicaments dans l’application Santé pour suivre et gérer les médicaments, vitamines et suppléments que vous prenez quotidiennement. Vous pouvez ensuite enregistrer les médicaments que vous avez pris ou ignorés lorsque vous recevez une notification sur votre appareil. Après avoir enregistré vos médicaments, vous pouvez voir à quelle fréquence vous les avez pris ou sautés pour vous aider à suivre votre état de santé. Dans cet article, nous vous guiderons pour afficher l'historique des journaux de médicaments sélectionnés dans l'application Santé sur iPhone. Un petit guide sur la façon d'afficher l'historique de votre journal de médicaments dans l'application Santé : Accédez à l'application Santé > Parcourir > Médicaments > Médicaments > Sélectionner un médicament > Options

Trois commandes pour afficher les journaux sous Linux Trois commandes pour afficher les journaux sous Linux Jan 04, 2023 pm 02:00 PM

Les trois commandes permettant d'afficher les journaux sous Linux sont : 1. la commande tail, qui peut afficher les modifications du contenu des fichiers et des fichiers journaux en temps réel 2. la commande multitail, qui peut surveiller plusieurs fichiers journaux en même temps 3. la commande less ; qui peut Les modifications apportées au journal peuvent être visualisées rapidement sans encombrer l'écran.

Comprendre la signification de l'événement ID455 dans les journaux Win10 Comprendre la signification de l'événement ID455 dans les journaux Win10 Jan 12, 2024 pm 09:45 PM

Les journaux de Win10 ont un contenu très riche. De nombreux utilisateurs ont dû voir l'erreur d'affichage de l'événement ID455 lors de la recherche de leurs propres journaux de gestion. Alors, qu'est-ce que cela signifie ? Qu'est-ce que l'événement ID455 dans le journal Win10 : 1. ID455 est l'erreur <erreur> qui s'est produite dans <fichier> lorsque la banque d'informations a ouvert le fichier journal.

See all articles