Trang chủ » làm thế nào để » Giám sát tất cả các truy vấn SQL trong MySQL

    Giám sát tất cả các truy vấn SQL trong MySQL

    Máy chủ SQL của Microsoft có một công cụ gọi là Profiler mà bạn có thể sử dụng để theo dõi mọi truy vấn SQL truy cập cơ sở dữ liệu. Điều này cực kỳ hữu ích cho các lập trình viên cũng như quản trị viên cơ sở dữ liệu để khắc phục các truy vấn chính xác được tạo bởi một ứng dụng.

    Đã chuyển sang sử dụng MySQL một cách thường xuyên, đây là một trong những điều đầu tiên tôi muốn tìm ra cách làm. Làm thế nào khác bạn có thể thấy mã SQL thực tế được tạo bởi WordPress hoặc phpBB?

    Điều đầu tiên chúng ta cần làm là bật ghi nhật ký truy vấn trong MySQL. Được cảnh báo rằng điều này chỉ nên được thực hiện trong quá trình phát triển. Nó thực sự làm mọi thứ chậm lại để ghi lại mọi truy vấn vào một tệp.

    Tìm và mở tệp cấu hình MySQL của bạn, thường là /etc/mysql/my.cnf trên Ubuntu. Hãy tìm phần có nội dung ghi nhật ký và sao chép

    #
    # * Ghi nhật ký và nhân rộng
    #
    # Cả hai vị trí được quay bởi cronjob.
    # Hãy lưu ý rằng loại nhật ký này là một kẻ giết người hiệu suất.

    log = /var/log/mysql/mysql.log

    Chỉ cần bỏ ghi chú biến log Nhật ký để bật đăng nhập. Khởi động lại MySQL bằng lệnh này:

    sudo /etc/init.d/mysql khởi động lại

    Bây giờ chúng tôi đã sẵn sàng để bắt đầu theo dõi các truy vấn khi chúng đến. Mở một thiết bị đầu cuối mới và chạy lệnh này để cuộn tệp nhật ký, điều chỉnh đường dẫn nếu cần thiết.

    đuôi -f /var/log/mysql/mysql.log

    Bây giờ chạy ứng dụng của bạn. Bạn sẽ thấy các truy vấn cơ sở dữ liệu bắt đầu bay qua trong cửa sổ thiết bị đầu cuối của bạn. (đảm bảo bạn đã cuộn và lịch sử được bật trên thiết bị đầu cuối)

    Tôi rất ấn tượng, phpbb3 có mã SQL được tối ưu hóa khá chặt chẽ. WordPress, mặt khác, rất không hiệu quả.