Rumah pangkalan data tutorial mysql mysql学习记录(二十五)--mysql日志_MySQL

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

May 30, 2016 pm 05:10 PM
log

一、理论:
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;
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah ID acara 6013 dalam win10? Apakah ID acara 6013 dalam win10? Jan 09, 2024 am 10:09 AM

Log win10 boleh membantu pengguna memahami penggunaan sistem secara terperinci Ramai pengguna mesti menemui log 6013 apabila mencari log pengurusan mereka sendiri. Apakah log win10 6013: 1. Ini log biasa. Maklumat dalam log ini tidak bermakna bahawa komputer anda telah dimulakan semula, tetapi ia menunjukkan berapa lama sistem telah berjalan sejak kali terakhir ia dimulakan. Log ini akan muncul sekali setiap hari pada pukul 12 tepat. Bagaimana untuk menyemak berapa lama sistem telah berjalan Anda boleh memasukkan info sistem dalam cmd. Terdapat satu baris di dalamnya.

Saiz penimbal pembalak untuk kegunaan log Saiz penimbal pembalak untuk kegunaan log Mar 13, 2023 pm 04:27 PM

Fungsinya adalah untuk memberi maklum balas kepada jurutera mengenai maklumat penggunaan dan rekod untuk memudahkan analisis masalah (digunakan semasa pembangunan); Penampan pembalakan ialah kawasan kecil sementara yang digunakan untuk penyimpanan jangka pendek vektor perubahan bagi log semula untuk ditulis pada cakera. Log penimbal tulis ke cakera ialah kumpulan vektor perubahan daripada berbilang transaksi. Walaupun begitu, vektor perubahan dalam penimbal log ditulis ke cakera dalam hampir masa nyata, dan apabila sesi mengeluarkan kenyataan COMMIT, operasi tulis penimbal log dilakukan dalam masa nyata.

Menyelesaikan masalah Isu Log Ralat Acara 7034 dalam Win10 Menyelesaikan masalah Isu Log Ralat Acara 7034 dalam Win10 Jan 11, 2024 pm 02:06 PM

Log win10 boleh membantu pengguna memahami penggunaan sistem secara terperinci Ramai pengguna telah melihat banyak log ralat semasa mencari log pengurusan mereka sendiri. Bagaimana untuk menyelesaikan peristiwa log win10 7034: 1. Klik "Mula" untuk membuka "Panel Kawalan" 2. Cari "Alat Pentadbiran" 3. Klik "Perkhidmatan" 4. Cari HDZBCommServiceForV2.0, klik kanan "Stop Service" dan ubahnya kepada "Mula Manual"

Cara menggunakan pengelogan dalam ThinkPHP6 Cara menggunakan pengelogan dalam ThinkPHP6 Jun 20, 2023 am 08:37 AM

Dengan perkembangan pesat Internet dan aplikasi Web, pengurusan log menjadi semakin penting. Apabila membangunkan aplikasi web, cara mencari dan mencari masalah adalah isu yang sangat kritikal. Sistem pembalakan ialah alat yang sangat berkesan yang boleh membantu kami mencapai tugasan ini. ThinkPHP6 menyediakan sistem pengelogan berkuasa yang boleh membantu pembangun aplikasi mengurus dan menjejaki peristiwa yang berlaku dalam aplikasi dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan sistem pembalakan dalam ThinkPHP6 dan cara menggunakan sistem pembalakan

Penjelasan terperinci tentang arahan melihat log dalam sistem Linux! Penjelasan terperinci tentang arahan melihat log dalam sistem Linux! Mar 06, 2024 pm 03:55 PM

Dalam sistem Linux, anda boleh menggunakan arahan berikut untuk melihat kandungan fail log: perintah ekor: Perintah ekor digunakan untuk memaparkan kandungan pada akhir fail log. Ia adalah arahan biasa untuk melihat maklumat log terkini. ekor [pilihan] [nama fail] Pilihan yang biasa digunakan termasuk: -n: Tentukan bilangan baris yang akan dipaparkan, lalai ialah 10 baris. -f: Pantau kandungan fail dalam masa nyata dan secara automatik memaparkan kandungan baharu apabila fail dikemas kini. Contoh: tail-n20logfile.txt#Paparkan 20 baris terakhir fail logfile.txt tail-flogfile.txt#Pantau kandungan kemas kini fail logfile.txt dalam arahan kepala masa nyata: Perintah kepala digunakan untuk memaparkan permulaan daripada fail log

Cara melihat sejarah log ubat anda dalam apl Kesihatan pada iPhone Cara melihat sejarah log ubat anda dalam apl Kesihatan pada iPhone Nov 29, 2023 pm 08:46 PM

iPhone membolehkan anda menambah ubat dalam apl Kesihatan untuk menjejak dan mengurus ubat, vitamin dan suplemen yang anda ambil setiap hari. Anda kemudian boleh log ubat yang telah anda ambil atau langkau apabila anda menerima pemberitahuan pada peranti anda. Selepas anda mencatatkan ubat anda, anda boleh melihat kekerapan anda mengambil atau melangkaunya untuk membantu anda menjejaki kesihatan anda. Dalam siaran ini, kami akan membimbing anda untuk melihat sejarah log ubat yang dipilih dalam apl Kesihatan pada iPhone. Panduan ringkas tentang cara melihat sejarah log ubat anda dalam Apl Kesihatan: Pergi ke Apl Kesihatan>Semak imbas>Ubat>Ubat>Pilih Ubat>Pilihan&a

Fahami maksud acara ID455 dalam log win10 Fahami maksud acara ID455 dalam log win10 Jan 12, 2024 pm 09:45 PM

Log win10 mempunyai banyak kandungan yang kaya. Ramai pengguna mesti melihat ralat paparan ID455 semasa mencari log pengurusan mereka sendiri. Jadi apa maksudnya. Apakah peristiwa ID455 dalam log win10: 1. ID455 ialah ralat <ralat> yang berlaku dalam <fail> apabila stor maklumat membuka fail log.

Tiga arahan untuk melihat log dalam Linux Tiga arahan untuk melihat log dalam Linux Jan 04, 2023 pm 02:00 PM

Tiga arahan untuk melihat log dalam Linux ialah: 1. perintah ekor, yang boleh melihat perubahan dalam kandungan fail dan fail log dalam masa nyata 2. perintah berbilang ekor, yang boleh memantau berbilang fail log pada masa yang sama; yang boleh Perubahan pada log boleh dilihat dengan cepat tanpa mengacaukan skrin.

See all articles