Làm cách nào để kiểm tra kết nối MySQL?

Có thể biết kết nối đang hoạt động hoặc toàn bộ với sự trợ giúp của biến thread_connected. Biến cho biết về số lượng kết nối hiện đang mở

Truy vấn như sau -

mysql> show status where `variable_name` = 'Threads_connected';

Đây là đầu ra

+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 1     |
+-------------------+-------+
1 row in set [0.06 sec]

Chúng ta có thể kiểm tra tương tự với sự trợ giúp của lệnh show. Truy vấn như sau -

mysql> show processlist;

Đây là đầu ra

+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
| Id | User            | Host            | db       | Command | Time   | State                  | Info             |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
|  4 | event_scheduler | localhost       | NULL     | Daemon  | 349012 | Waiting on empty queue | NULL             |
| 11 | root            | localhost:54746 | business | Query   |      1 | starting               | show processlist |
+----+-----------------+-----------------+----------+---------+--------+------------------------+------------------+
2 rows in set [0.31 sec]

Khi kiểm tra API, dịch vụ web hoặc các phần hệ thống khác, bạn có thể cần ghi lại hoặc truy xuất dữ liệu từ cơ sở dữ liệu. Mục đích của sự tương tác này là để kiểm tra bản ghi chính xác của dữ liệu cụ thể trong DB hoặc để chuẩn bị dữ liệu thử nghiệm cho các thử nghiệm bằng cách thêm các bản ghi cụ thể vào cơ sở dữ liệu

Bài viết này sẽ hướng dẫn bạn cách kiểm tra kết nối MySQL bằng cách sử dụng Apache JMeter™ để kiểm tra, cập nhật và thêm các mục nhập vào cơ sở dữ liệu của bạn. Dựa trên những ví dụ này, mỗi người thử nghiệm sau đó có thể thực hiện tương tác thích hợp với cơ sở dữ liệu, trong quá trình thử nghiệm tiếp theo của họ. Trong bài đăng trên blog này, chúng tôi sẽ sử dụng JMeter 3. 2, cơ sở dữ liệu MySQL 5. 7. 18 Phiên bản cộng đồng [miễn phí và được cài đặt trên PC] và Java8

📕 Tài nguyên liên quan. Tìm hiểu thêm về Cách kiểm tra BLOB từ MySQL

Cách kiểm tra kết nối MySQL với JMeter

Có hai bước để kiểm tra kết nối MySQL với JMeter

  1. Định cấu hình Cơ sở dữ liệu trên JMeter
  2. Gửi yêu cầu đến cơ sở dữ liệu

Phần 1 - Cấu hình cơ sở dữ liệu trên JMeter

Trước khi bạn bắt đầu làm việc với cơ sở dữ liệu bằng cách sử dụng JMeter, bạn cần làm như sau

  • Đảm bảo rằng có một người dùng có quyền kết nối và thực hiện các hành động phổ biến CRUD trong cơ sở dữ liệu
  • Đảm bảo cơ sở dữ liệu có sẵn để truy cập từ xa hoặc cục bộ
  • Cài đặt và chọn các thuộc tính phù hợp cho JMeter và Java Development Kit

Cài đặt Đầu nối/J 5. 1. 42 Trình điều khiển cho tương tác DB

Để tương tác với cơ sở dữ liệu, cần phải

1. Tải xuống Trình kết nối/J 5. 1. 42 tài xế

2. Nhập kho lưu trữ đã tải xuống

3. Sao chép mysql-connector-java-5. 1. 42-thùng. lọ để. \apache-jmeter-3. thư mục 2\lib

Ghi chú. trình điều khiển Connector/J 5. 1. 42 chỉ được sử dụng để kết nối với cơ sở dữ liệu MySQL

Cấu hình kết nối cơ sở dữ liệu

4. Khởi động JMeter và thêm phần tử Cấu hình kết nối JDBC. Nhấp chuột phải vào Nhóm chủ đề -> Thêm -> Phần tử cấu hình -> Cấu hình kết nối JDBC

Cấu hình kết nối JDBC được sử dụng để định cấu hình kết nối JMeter với cơ sở dữ liệu

5. Điền vào trường Tên biến. Giá trị của trường này được sử dụng để liên kết một cấu hình kết nối cụ thể [Cấu hình kết nối JDBC] với cơ sở dữ liệu và một yêu cầu cụ thể [Yêu cầu JDBC] được gửi bởi JMeter

Nếu trường không được điền, yêu cầu sẽ không được gửi và Bảng điều khiển JMeter sẽ hiển thị thông báo sau. java. lang thang. Ngoại lệ Đối số bất hợp pháp. Tên biến không được để trống đối với phần tử. Cấu hình kết nối JDBC. Điều này có thể được nhìn thấy trong ảnh chụp màn hình bên dưới

6. Định cấu hình cấu hình kết nối JDBC. Bất kỳ ai cũng có thể sử dụng cấu hình sau bằng cách thay đổi giá trị của localhost và lược đồ cơ sở dữ liệu

  • URL cơ sở dữ liệu – được sử dụng cho địa chỉ cơ sở dữ liệu. điền vào
    • jdbc. mysql. // - trình tự không thay đổi được sử dụng trong JMeter khi chỉ định địa chỉ cơ sở dữ liệu MySQL
    • máy chủ cục bộ. 3306/ - địa chỉ IP và cổng cung cấp cơ sở dữ liệu. Vì trong ví dụ đã cho, chúng tôi sử dụng cơ sở dữ liệu được cài đặt trên PC cục bộ, chúng tôi sử dụng địa chỉ IP và cổng, được định cấu hình trong khi cài đặt MySQL. Trong hầu hết các trường hợp, cần phải cài đặt các kết nối khác nhau cho cơ sở dữ liệu trên máy chủ từ xa và có địa chỉ IP và cổng 10 chẳng hạn. 56. 56. 2. 4101
    • sakila – là một sơ đồ cơ sở dữ liệu [hay tóm lại là tên của một số lượng bảng nhất định]. Không chỉ định lược đồ, JMeter trả về lỗi. “Tin nhắn phản hồi. java. sql. SQLException. Không có cơ sở dữ liệu nào được chọn”
  • Lớp trình điều khiển JDBC – lớp trong đó mã làm việc với một cơ sở dữ liệu cụ thể được triển khai [Lớp này được tạo bởi các nhà phát triển trình điều khiển JDBC]
    • com. mysql. jdbc. Trình điều khiển – một chuỗi tĩnh trong khi kết nối với MySQL
  • Tên người dùng  - tên của người dùng có quyền truy cập vào DB
  • Mật khẩu – mật khẩu để truy cập DB

Các trường còn lại có thể giữ nguyên như được đặt theo mặc định trong JMeter

Phần 2 - Gửi yêu cầu đến cơ sở dữ liệu

Gửi yêu cầu dữ liệu

7. Thêm phần tử Nhóm chủ đề

Sau khi thêm một phần tử, hãy để tất cả các tham số được điền theo mặc định [do chính JMeter cung cấp]

8. Thêm một Yêu cầu JDBC làm thành phần con vào Nhóm Chủ đề. Yêu cầu sẽ cho phép gửi yêu cầu đến DB

9. Định cấu hình Yêu cầu JDBC

  • Điền vào trường Tên biến. Tôi đã điền vào “Số yêu cầu JDBC. 1” bởi vì nó là một tên có ý nghĩa đối với yêu cầu được cài đặt bởi Cấu hình kết nối JDBC
  • Đặt trường Loại truy vấn thành Chọn câu lệnh. Giá trị của Select Statement chỉ ra rằng một yêu cầu sẽ được thực hiện để lấy dữ liệu từ cơ sở dữ liệu
  • Đặt tên biến trong trường Tên biến kết quả. Biến này sẽ lưu trữ tất cả các trường và giá trị trường nhận được từ cơ sở dữ liệu. Tên của biến này phải là duy nhất trong Thread Group. Nếu tên của biến này được sử dụng trong một số yêu cầu tới cơ sở dữ liệu [Yêu cầu JDBC], thì nó sẽ lưu trữ các trường và giá trị trường nhận được từ truy vấn cuối cùng

Ví dụ. Giả sử chúng ta có hai Yêu cầu JDBC, nằm trong cùng một thành phần của Nhóm luồng. Đối với Yêu cầu JDBC №1 và Yêu cầu JDBC № 2, giá trị của tên biến Kết quả = Một trường được đặt. Khi Yêu cầu JDBC №1 trả về phản hồi từ cơ sở dữ liệu, tất cả các trường và giá trị trường sẽ được gán cho biến A. Sau khi nhận được phản hồi từ Yêu cầu JDBC số 2, tất cả các trường và giá trị trường sẽ được gán lại cho biến A, vốn đã chứa các giá trị từ Yêu cầu JDBC số 1. Do đó, dữ liệu nhận được bởi Yêu cầu JDBC № 1 sẽ không được lưu trữ trong biến А. Biến А sẽ chỉ lưu trữ phản hồi từ Yêu cầu JDBC № 2. Để phản hồi từ Yêu cầu JDBC №1 và Yêu cầu JDBC № 2 được lưu trữ trong các biến và không bị ghi đè, trường tên biến Kết quả phải được chỉ định là duy nhất [Ví dụ: đối với Yêu cầu JDBC  №1, giá trị của biến Kết quả

  • Tạo truy vấn SQL đối với cơ sở dữ liệu trong trường Truy vấn. trong ví dụ này. chọn * từ thanh toán trong đó customer_id = 1 giới hạn 10
  • Các tham số còn lại có thể bỏ qua vì việc xử lý dữ liệu tiếp theo sẽ được thực hiện bằng cách sử dụng Java. [Ví dụ: thay vì phần tử Xác nhận phản hồi, Xác nhận BeanShell với mã được viết sẽ được sử dụng, như minh họa bên dưới]

10. Thêm Trình nghe cây xem kết quả và chạy thử nghiệm. Mục View Results Tree Listener cho phép bạn xem các yêu cầu đã gửi và phản hồi đã nhận như trong hình bên dưới

Ghi chú. Yêu cầu cơ sở dữ liệu có thể được xây dựng theo cú pháp ngôn ngữ SQL, hỗ trợ một cơ sở dữ liệu cụ thể. JMeter không áp đặt bất kỳ hạn chế nào đối với thiết kế của nó

Xác nhận phản hồi DB

Trong hầu hết các trường hợp khi làm việc với DB, việc nhận dữ liệu hoàn tất đối với các điều kiện đã cho. Nếu dữ liệu tương ứng với yêu cầu tồn tại trong cơ sở dữ liệu, chúng tôi sẽ nhận được kết quả

Nhưng điều gì sẽ xảy ra khi DB không có dữ liệu mà chúng tôi đang kiểm tra? . Nó sẽ trông giống thế này

Để kiểm tra xem phản hồi có đúng không, chúng ta có thể thực hiện các bước tiếp theo

10. Thêm phần tử BeanShell Assertion làm phần tử con vào phần tử Yêu cầu JDBC

11. Thêm mã như trong hình

Ví dụ.
 

if[vars.getObject["Request_1"].size[]!=0]{log.info["!!!!!!!!!!!!!! The response is not empty !!!!!!!!!!!!!!!!!!!"];}else{FailureMessage="!!!!!!!!!!!! The response is empty !!!!!!!!!!!!!";Failure=true;prev.setStopThread[true];}

 

Bây giờ, khi nhận được phản hồi trống, tất cả các hành động hoặc yêu cầu tiếp theo trong Nhóm chủ đề sẽ bị dừng và thông báo lỗi chính xác sẽ xuất hiện

Đôi khi có những trường hợp khi kết nối với cơ sở dữ liệu tạm thời không khả dụng, địa chỉ IP đã bị thay đổi hoặc một số lý do khác phát sinh dẫn đến không có phản hồi từ cơ sở dữ liệu. Kết quả là trong đoạn mã trên, lỗi xảy ra trong quá trình thực thi, mặc dù không có dữ liệu lỗi khi có kết nối với cơ sở dữ liệu

Để loại trừ những khoảnh khắc như vậy, bạn có thể thêm kiểm tra kết nối vào cơ sở dữ liệu và trong trường hợp không có kết nối này, thông báo lỗi sẽ hiển thị chính xác

Thí dụ

 

if[ResponseCode.equals["200"]]{if[vars.getObject["Request_1"].size[]!=0]{log.info["!!!!!!!!!!!!!! The response is not empty !!!!!!!!!!!!!!!!!!!"];}else{FailureMessage="!!!!!!!!!!!! The response is empty !!!!!!!!!!!!!";Failure=true;prev.setStopThread[true];}}else{FailureMessage="!!!!!!!!!!!! No connection to the database !!!!!!!!!!!!!";Failure=true;prev.setStopThread[true];}

 

Đó là nó. Bây giờ bạn đã biết cách tạo và xác nhận cấu hình DB cơ bản với JMeter. Hãy theo dõi phần hai, nơi chúng ta sẽ tìm hiểu cách thực hiện các thao tác nâng cao trên các biến và phản hồi, cũng như cách thực hiện các loại truy vấn nâng cao

BẮT ĐẦU KIỂM TRA NGAY
 

Blog này ban đầu được xuất bản vào ngày 15 tháng 8 năm 2017 và kể từ đó đã được cập nhật về độ chính xác và mức độ phù hợp

Làm cách nào tôi có thể thấy kết nối trong MySQL?

Có thể biết kết nối đang hoạt động hoặc toàn bộ với sự trợ giúp của biến thread_connected. Biến cho biết về số lượng kết nối hiện đang mở. mysql> hiển thị trạng thái trong đó `tên_biến` = 'Threads_connected'; Đây là kết quả.

Làm cách nào để kiểm tra kết nối MySQL từ dòng lệnh?

1 câu trả lời .
Đảm bảo bạn đã tạo kết nối MySQL chính xác
Mở dòng lệnh từ tìm kiếm sau đó gõ cd \
Khi bạn đã đến thư mục bin, hãy nhập mysql -u yourUserName -p [áp dụng điều này để kết nối với MySQL]

Làm cách nào để kiểm tra kết nối MySQL trong Linux?

Để truy cập cơ sở dữ liệu MySQL của bạn, hãy làm theo các bước sau. .
Đăng nhập vào máy chủ web Linux của bạn thông qua Secure Shell
Mở chương trình máy khách MySQL trên máy chủ trong thư mục /usr/bin
Nhập cú pháp sau để truy cập cơ sở dữ liệu của bạn. $ mysql -h {tên máy chủ} -u tên người dùng -p {tên cơ sở dữ liệu} Mật khẩu. {mật khẩu của bạn}

Chủ Đề