MySQL中普通、慢查询日志的区别
Intro
<br/>
<br/>
之前的一篇分享提到,MySQL的日志类型可以分为三种,错误日志(error_log),查询日志(query_log),和二进制日志(binary_log),error_log的介绍与用法详见MySQL日志之error_log,本文主要介绍general_log和slow_query_log的原理和用法。
通用查询日志
通用查询日志(general_log)主要用于查询各client连接数据库时的相关信息与在数据库上执行的SQL语句,配置方法为:
1、查询通用查询日志是否开启与其存放路径:
mysql> show variables like "general_log%"; +------------------+------------------------------+| Variable_name | Value | +------------------+------------------------------+| general_log | OFF | | general_log_file | /var/lib/mysql/localhost.log | +------------------+------------------------------+ 2 rows in set (0.00 sec)
屏幕输出中general_log
和general_log_file
记录了当前通用查询日志的开关状态与路径。
2、开启通用查询日志
set global general_log = ON
查询是否成功:
mysql> show variables like "general_log%"; +------------------+------------------------------+| Variable_name | Value | +------------------+------------------------------+| general_log | ON | | general_log_file | /var/lib/mysql/localhost.log | +------------------+------------------------------+ 2 rows in set (0.00 sec)
成功。
退出一下看有没有生成并且正确记录:
[root@localhost ~]# cat /var/lib/mysql/localhost.log /usr/sbin/mysqld, Version: 5.7.19 (MySQL Community Server (GPL)). started with: Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock Time Id Command Argument 2017-08-14T09:33:11.364650Z 5 Quit 2017-08-14T09:33:20.671113Z 6 Connect root@localhost on using Socket 2017-08-14T09:33:20.671323Z 6 Query select @@version_comment limit 1 2017-08-14T09:33:22.964610Z 6 Query show variables like '%log%' 2017-08-14T09:33:24.574224Z 6 Quit
成功,并且我们可以看到,log不仅记录了SQL命令,同时也包括了执行时间、Id、命令类型等相关数据
慢查询日志
慢查询日志记录了SQL语句时间超过了预设的long_query_time的语句,在数据量较大的情况下,可以看看慢查询日志中有哪些语句需要进行优化。
1、慢查询日志的配置
慢查询日志的配置可以在数据库配置文件my.cnf
中查到:
[root@localhost ~]# cat /etc/my.cnf | grep -E 'long|slow|not_using_indexes'long_query_time = 1#log-slow-queries = /var/log/mysql/slow.loglog_queries_not_using_indexes
可以看到:
long_query_time = 1
的意思是SQL语句执行时间超过1s的,对其进行记录; <br/>log-slow-queries = /var/log/mysql/slow.log
是对慢查询日志路径的设置; <br/>log_queries_not_using_indexes
意思为不使用索引的语句,可以缩小记录的目标
实际配置与通用查询日志相同,在mysql交互界面中输入命令开启慢查询日志:
set slow_query_log = ON
2、查询是否成功
[root@localhost ~]# cat /var/lib/mysql/localhost-slow.log /usr/sbin/mysqld, Version: 5.7.19 (MySQL Community Server (GPL)). started with: Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock Time Id Command Argument
成功。
但注意,slow_query_log可能会记录到与用户权限和密码相关的语句,因此在使用慢查询日志文件时请注意日志的安全保存。
Atas ialah kandungan terperinci MySQL中普通、慢查询日志的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

Apache menyambung ke pangkalan data memerlukan langkah -langkah berikut: Pasang pemacu pangkalan data. Konfigurasikan fail web.xml untuk membuat kolam sambungan. Buat sumber data JDBC dan tentukan tetapan sambungan. Gunakan API JDBC untuk mengakses pangkalan data dari kod Java, termasuk mendapatkan sambungan, membuat kenyataan, parameter mengikat, melaksanakan pertanyaan atau kemas kini, dan hasil pemprosesan.

Memasang MySQL pada CentOS melibatkan langkah -langkah berikut: Menambah sumber MySQL YUM yang sesuai. Jalankan YUM Pasang Perintah MySQL-Server untuk memasang pelayan MySQL. Gunakan perintah mysql_secure_installation untuk membuat tetapan keselamatan, seperti menetapkan kata laluan pengguna root. Sesuaikan fail konfigurasi MySQL seperti yang diperlukan. Tune parameter MySQL dan mengoptimumkan pangkalan data untuk prestasi.

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Kunci untuk memasang MySQL dengan elegan adalah untuk menambah repositori MySQL rasmi. Langkah -langkah khusus adalah seperti berikut: Muat turun kekunci GPG rasmi MySQL untuk mencegah serangan pancingan data. Tambah fail repositori MySQL: rpm -uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm kemas kini yum repository cache: yum update mysql: yum pemasangan mysql-server mysql Server.

Peranan utama MySQL dalam aplikasi web adalah untuk menyimpan dan mengurus data. 1.MYSQL dengan cekap memproses maklumat pengguna, katalog produk, rekod urus niaga dan data lain. 2. Melalui pertanyaan SQL, pemaju boleh mengekstrak maklumat dari pangkalan data untuk menghasilkan kandungan dinamik. 3.MYSQL berfungsi berdasarkan model klien-pelayan untuk memastikan kelajuan pertanyaan yang boleh diterima.

Alat operasi dan penyelenggaraan Mac adalah disyorkan, mewujudkan persekitaran kerja yang cekap: emulator terminal: iterm2, meningkatkan kecekapan dan alat sambungan jarak jauh yang indah: termius, pengurusan editor kod pelayan yang selamat: vs kod, menyokong pelbagai bahasa dan penambahan fail lanjutan: meningkatkan alat pemantauan pro: atau postico, Pengoptimuman Prestasi Pangkalan Data Pengurusan Grafik: Pembersihan Sampah Sistem Sistem, Peruntukan Sumber yang Munasah dan Perisian Kemas Kini Tepat
