Làm cách nào để bật nhật ký truy vấn chậm trên máy chủ của tôi? Tôi đã bật tính năng này trên máy chủ cục bộ của mình bằng cách thêm log-slow-queries =[path]
vào tệp my.ini
nhưng không biết cách thêm máy chủ này trên máy chủ của mình. Máy chủ của tôi dựa trên Linux và có phiên bản PHP 5.2.16.Làm cách nào tôi có thể bật nhật ký truy vấn chậm MySQL trên máy chủ của mình?
Trả lời
Cho phép đăng nhập truy vấn chậm không có gì để làm với phiên bản PHP. Bạn phải kích hoạt nó trong máy chủ MySQL. Bạn có thể bật theo hai cách
- Trong thời gian chạy
- Trong máy chủ bắt đầu
Nếu máy chủ của bạn là trên 5.1.6 bạn có thể thiết lập các bản ghi truy vấn chậm trong thời gian chạy của chính nó. Bạn phải thực hiện truy vấn này.
set global log_slow_queries = 1;
set global slow_query_log_file = <some file name>;
Hoặc cách khác bạn có thể thiết lập các tùy chọn này trong my.cnf/files tùy chọn my.ini
log_slow_queries = 1;
slow_query_log_file = <some file name>;
Trong trường hợp tập tin tùy chọn được thay đổi, các máy chủ MySQL cần phải được khởi động lại.
Vị trí của các tập tin tùy chọn mysql có thể được tìm thấy ở đây http://dev.mysql.com/doc/refman/4.1/en/mysql-config-wizard-file-location.html
FYI: log_slow_queries
được loại bỏ trong MySQL 5.6.1 và slow_query_log
được sử dụng để thay thế. http://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_log-slow-queries
Nhưng để thực hiện, bạn có thể đặt đầu ra nhật ký (tùy chọn log_output
) thành TABLE
. Ngoài ra bạn có thể có một cái nhìn tùy chọn đăng nhập truy vấn chậm khác như long_query_time
, log-queries-not-using-indexes
Bạn có thể đặt nó tạm thời, bằng cách chạy các lệnh sau:
set global slow_query_log = 1;
set global slow_query_log_file = '/var/log/mysql-slow.log';
nhưng thay đổi của bạn sẽ được hoàn tác khi mysql được khởi động lại.
Bạn có thể đặt nó vĩnh viễn, bằng cách thêm dòng sau vào my.cnf
tập tin của bạn:
slow-query-log=1
slow-query-log-file=/var/log/mysql-slow.log
Vị trí của my.cnf
khác nhau theo từng hệ điều hành, nhưng thường được tìm thấy trong /etc/my.cnf
, hoặc /etc/mysql/my.cnf
:
Sau khi lưu thay đổi của bạn, bạn sẽ cần phải khởi động lại MySql. Điều này có thể khác nhau tùy theo hệ điều hành, nhưng đây là một số ví dụ phổ biến:
sudo /etc/init.d/mysqld restart
và
sudo service mysqld restart
khi tôi đang chạy truy vấn này ' SET GLOBAL slow_query_log = 1; 'tôi nhận được lỗi này' # 1193 - Un biến hệ thống đã biết 'slow_query_log'' – Juice
thanx 4 ur help .. – Juice
không bị khó chịu. Vì cả hai câu trả lời đều được giúp đỡ đầy đủ cho tôi nên tôi đã bỏ phiếu cho cả hai. Và tôi có thể chấp nhận chỉ có một câu trả lời khác khôn ngoan tôi sẽ chấp nhận của bạn cũng. Tôi đã chấp nhận câu trả lời của mình bởi vì ông đã trả lời những nghi ngờ của tôi. – Juice
đầu tiên (như root :)
mkdir /var/log/mysql
touch /var/log/mysql/log-slow-queries.log
chown mysql:mysql -R /var/log/mysql
Sau đó dưới [mysqld] trong/etc/của tôi.conf (hoặc bất cứ nơi nào tập tin cấu hình của bạn là :)
slow_query_log = 1
log-queries-not-using-indexes
long_query_time=1
log-slow-queries=/var/log/mysql/log-slow-queries.log
Tiếp theo:
service mysql restart
Cuối cùng:
mysql
mysql> SELECT SLEEP(10);
mysql> quit
Mã xác nhận:
cat /var/log/mysql/log-slow-queries.log
/usr/sbin/mysqld, Version: 5.5.42-cll (MySQL Community Server (GPL)). started with:
Tcp port: 0 Unix socket: (null)
Time Id Command Argument
# Time: 150727 0:05:17
# [email protected]: root[root] @ localhost []
# Query_time: 10.000215 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1437973517;
select sleep(10);
- 1. Truy vấn ghi nhật ký truy vấn chậm của MySQL ghi nhật ký truy vấn nhanh
- 2. Làm cách nào để tôi có thể bật nhật ký truy vấn chậm của MySQL mà không cần khởi động lại MySQL?
- 3. Bật nhật ký truy vấn chung của MySQL với JDBC
- 4. Tôi có thể bắt đầu và kiểm tra nhật ký MySQL của mình bằng cách nào?
- 5. Nhật ký truy vấn chậm của MySQL - chậm như thế nào?
- 6. Truy vấn chậm của MySQL
- 7. Tìm vị trí của nhật ký truy vấn chậm của MySQL qua PHP
- 8. PHP tương đương với nhật ký truy vấn chậm của MySQL?
- 9. Làm cách nào tôi có thể quản lý kích thước nhật ký máy chủ SQL
- 10. Bật nhật ký truy vấn trong MySQL 5 trên Windows 7
- 11. Ngăn không cho một truy vấn xuất hiện trong nhật ký truy vấn chậm
- 12. Đơn vị thời gian trong nhật ký truy vấn chậm của MySQL là gì?
- 13. Bật ghi nhật ký phía máy chủ trong SignalR
- 14. "SELECT/*! N SQL_NO_CACHE */* FROM` mytable` có nghĩa là gì trong nhật ký truy vấn chậm của MySQL?
- 15. Chỉ mục MySQL làm chậm truy vấn
- 16. Tôi làm cách nào để mô phỏng độ trễ mạng trên máy phát triển của mình?
- 17. Làm cách nào để nhận nhật ký máy chủ SVN?
- 18. Làm cách nào để giảm kích thước tệp nhật ký máy chủ sql của tôi?
- 19. Làm thế nào tôi có thể truy vấn đường dẫn đến tệp nhật ký NLog?
- 20. Truy vấn chậm MYSQL trong "truy vấn chậm đăng nhập" - nhưng cùng một truy vấn chạy rất nhanh theo cách thủ công
- 21. Zend Bật ghi nhật ký truy vấn SQL
- 22. Tôi làm cách nào để truy cập máy chủ cục bộ của mình từ các máy tính khác?
- 23. Học máy trên dữ liệu nhật ký máy chủ
- 24. Truy vấn UNION chậm - MySQL
- 25. Làm thế nào để đăng nhập truy vấn chậm trong chia sẻ lưu trữ MySQL?
- 26. Tại sao tôi nhận được 'Ghi nhật ký nhị phân không khả thi'. trên máy chủ MySQL của tôi?
- 27. mysql chậm trên truy vấn đầu tiên, sau đó nhanh chóng truy vấn liên quan
- 28. Máy chủ Apache chậm trên EasyPHP
- 29. làm cách nào để tôi có một đồng đội khởi động lại máy chủ heroku từ máy của mình
- 30. Cắt mật khẩu truy vấn chậm trong MySQL
khi tôi chạy truy vấn này 'SET GLOBAL slow_query_log = 1;' tôi nhận được lỗi này '# 1193 - Biến hệ thống không xác định 'slow_query_log'' – Juice
sry it should' log_slow_queries', tôi sẽ thực hiện chỉnh sửa cần thiết. –
tôi chạy lệnh này cũng 'đặt global log_slow_queries = 1;' bây giờ hiển thị '# 1238 - Biến 'log_slow_queries' là biến chỉ đọc' – Juice