Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

In thông tin gỡ lỗi từ quy trình được lưu trữ trong MySQL

Tùy chọn 1:Đặt tùy chọn này vào quy trình của bạn để in 'nhận xét' ra stdout khi nó chạy.

SELECT 'Comment';

Tùy chọn 2:Đặt điều này vào thủ tục của bạn để in một biến với nó thành stdout:

declare myvar INT default 0;
SET myvar = 5;
SELECT concat('myvar is ', myvar);

Bản in này myvar is 5 stdout khi thủ tục chạy.

Tùy chọn 3, Tạo bảng có một cột văn bản được gọi là tmptable và đẩy tin nhắn đến nó:

declare myvar INT default 0;
SET myvar = 5;
insert into tmptable select concat('myvar is ', myvar);

Bạn có thể đặt ở trên trong một thủ tục được lưu trữ, vì vậy tất cả những gì bạn phải viết là:

CALL log(concat('the value is', myvar));

Điều này giúp tiết kiệm một vài lần nhấn phím.

Tùy chọn 4, Ghi tin nhắn vào tệp

select "penguin" as log into outfile '/tmp/result.txt';

Có những hạn chế rất nặng đối với lệnh này. Bạn chỉ có thể ghi outfile vào các vùng trên đĩa cấp cho nhóm 'những người khác' quyền tạo và ghi. Nó sẽ hoạt động khi lưu nó vào thư mục / tmp.

Ngoài ra, một khi bạn ghi ra tệp tin, bạn không thể ghi đè nó. Điều này là để ngăn những kẻ bẻ khóa không root hộp của bạn chỉ vì chúng đã chèn SQL vào trang web của bạn và có thể chạy các lệnh tùy ý trong MySQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mối quan hệ bảng cho các kiểu con

  2. chuyển đổi dấu thời gian mysql thành ngày và giờ thực tế?

  3. Làm cách nào để bảo vệ diễn đàn của tôi khỏi spam?

  4. Làm thế nào để giải quyết vấn đề mã hóa ký tự MySQL?

  5. Tham khảo:Mẫu mã hoàn hảo sử dụng phần mở rộng MySQL là gì?