Mysqlclient là gì?

Nội dung được sao chép trên trang web này là tài sản của chủ sở hữu tương ứng và nội dung này không được MariaDB xem xét trước. Quan điểm, thông tin và ý kiến ​​được thể hiện bởi nội dung này không nhất thiết đại diện cho quan điểm của MariaDB hoặc bất kỳ bên nào khác

MySQL vẫn là một trong những cơ sở dữ liệu quan hệ phổ biến nhất kể từ khi bắt đầu, hơn hai mươi năm trước. Do là mã nguồn mở nên nó luôn là một tùy chọn cho các giải pháp máy chủ web cũng như các ứng dụng độc lập

Sau khi cài đặt MySQL, chúng tôi sẽ có sẵn một số tiện ích nhị phân và rất dễ nhầm lẫn về việc sử dụng từng tiện ích

Trong hướng dẫn này, chúng ta sẽ thấy mục đích của các tiện ích MySQL được sử dụng nhiều nhất, cùng với một số ví dụ

Các giải thích ở đây cũng áp dụng cho MariaDB, một nhánh rẽ phổ biến được tạo bởi các nhà phát triển ban đầu của MySQL

MariaDB được tạo ra do lo ngại rằng MySQL có thể không còn là nguồn mở và dự định duy trì khả năng tương thích cao với MySQL

2. Cài đặt và sử dụng MySQL

Hầu hết các bản phân phối Linux đều cung cấp hai gói cho MySQL. Cái đầu tiên thường được gọi là mysql-server. Gói này chứa máy chủ và tất cả các tiện ích để kết nối với máy chủ. Gói thứ hai được gọi là mysql-client và chỉ chứa các tiện ích. Chúng tôi có thể sử dụng nó để kết nối với máy chủ ở một vị trí có thể truy cập ở nơi khác

Regardless of the package, we choose to install, we will have several commands that begin with “mysql”. If our distribution uses the bash-completion package, we can type “mysql” and we’ll get the following possible commands:

$ mysql
mysql                mysqldump            mysqlrepair
mysql_config_editor  mysqldumpslow        mysqlreport
mysqladmin           mysqlimport          mysqlshow
mysqlanalyze         mysqloptimize        mysqlslap
mysqlcheck           mysqlpump
$ mysql

Trước tiên hãy tập trung vào các lệnh có thể gây nhầm lẫn hơn. mysql và mysqladmin

2. 1. mysql

mysql là ứng dụng khách dòng lệnh và tệp nhị phân chính để kết nối với máy chủ MySQL. Nó cung cấp một trình bao để chúng ta có thể tương tác với máy chủ MySQL hoặc MariaDB. Khi cài đặt gói mysql-server, chúng ta có thể kết nối bằng cách ra lệnh đơn giản

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
mysql>

Thông qua lệnh này, chúng tôi có quyền truy cập vào trình bao ở chế độ tương tác. Chúng ta có thể nhập các câu lệnh SQL liên tiếp để tương tác với cơ sở dữ liệu của mình, sử dụng cùng một kết nối

Hầu hết các bản phân phối Linux sẽ yêu cầu chạy các tiện ích này dưới dạng siêu người dùng, như chúng tôi đã làm ở trên với lệnh sudo

Vỏ MySQL cho phép truy vấn cơ sở dữ liệu bằng SQL. Ví dụ: chúng ta có thể truy vấn cơ sở dữ liệu hệ thống để lấy tất cả người dùng trên hệ thống

mysql> select host, user from mysql.user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
...
+-----------+------------------+
6 rows in set (0.00 sec)

mysql>

Chúng ta cũng có thể sử dụng các câu lệnh dành riêng cho MySQL như USE và SHOW TABLES

mysql> USE mysql;
...
Database changed
mysql> SHOW TABLES;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
...
+---------------------------+
33 rows in set (0.01 sec)

mysql>

Có một số cách để rời khỏi trình bao, nhưng một trong những cách dễ nhất là nhấn các phím CTRL+D

mysql> ^DBye
$

2. 2. mysqladmin

mysqladmin là một công cụ để thực hiện các tác vụ quản trị trên máy chủ. Đó là một ứng dụng khách không tương tác yêu cầu lệnh với hành động chúng tôi muốn thực hiện

Mặc dù không có gì lạ khi nhầm lẫn hai nhị phân cuối cùng này, cả hai đều được sử dụng trong các ngữ cảnh khác nhau để đạt được kết quả khác nhau

Chúng tôi có thể sử dụng mysql thường xuyên hơn để tương tác với cơ sở dữ liệu và bảng của chúng tôi. Mặt khác, chúng tôi có thể sử dụng mysqladmin một cách tiết kiệm hơn để thay đổi thứ gì đó trên máy chủ

Ví dụ: chúng ta có thể sử dụng mysqladmin để tạo và xóa cơ sở dữ liệu

$ sudo mysqladmin create the_database
$
$ sudo mysqladmin drop the_database
...
Do you really want to drop the 'the_database' database [y/N] y
Database "the_database" dropped
$

Để tránh nhầm lẫn, chúng ta cũng có thể tạo và xóa cơ sở dữ liệu bằng mysql. Nhưng đó là nơi so sánh kết thúc. Tất cả các hành động khác mà chúng ta sẽ thấy bây giờ chỉ có thể đạt được với mysqladmin

Ví dụ, hãy xem cách kiểm tra trạng thái của máy chủ bằng cách sử dụng lệnh ping trước, sau đó là trạng thái

$ sudo mysqladmin ping
mysqld is alive
$ 
$ sudo mysqladmin status
Uptime: 89118  Threads: 2  Questions: 4379  Slow queries: 0  Opens: 7087  Flush tables: 3  Open tables: 516  Queries per second avg: 0.049
$

Đặc biệt, các hệ thống giám sát có thể thấy các lệnh trên rất hữu ích cho việc kiểm tra định kỳ

Giả sử rằng chúng ta cần xác định và xóa một truy vấn dài hạn. Chúng ta có thể sử dụng processlist và kill cho điều đó

$ sudo mysqladmin processlist
+----+-----------------+-----------+----+---------+-------+------------------------+------------------+
| Id | User            | Host      | db | Command | Time  | State                  | Info             |
+----+-----------------+-----------+----+---------+-------+------------------------+------------------+
| 5  | event_scheduler | localhost |    | Daemon  | 89464 | Waiting on empty queue |                  |
| 41 | root            | localhost |    | Query   | 51    | executing              | select ..       |
| 43 | root            | localhost |    | Query   | 0     | starting               | show processlist |
+----+-----------------+-----------+----+---------+-------+------------------------+------------------+
$ 
$ sudo mysqladmin kill 41
$

Ví dụ, có một số lệnh khác mà chúng ta có thể sử dụng với mysqladmin để thay đổi mật khẩu hoặc tải lại quyền

2. 3. mysqldump

mysqldump là một tiện ích hữu ích khác. Nó được sử dụng để sao lưu cơ sở dữ liệu. Nó xuất ra một tập hợp các câu lệnh SQL, khi được thực thi, có thể tạo lại cơ sở dữ liệu mà chúng tôi đã sao lưu. Chúng tôi cần chuyển hướng đầu ra thành một tệp nếu chúng tôi muốn lưu nó

________số 8

Nếu sau này chúng ta muốn khôi phục lại bản sao lưu, chúng ta có thể sử dụng mysql để thực hiện tất cả các lệnh trong tệp sao lưu

$ sudo mysql < sys_database.sql

When the backup contains only one database, we need to edit it to include the statement USE , if the database exists, or CREATE , if it doesn’t. If we execute the backup file without changes, we’ll get an error:

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
mysql>
0

mysqldump là một công cụ tiện lợi. Nó tạo ra một đầu ra dễ hiểu và quá trình này có thể mất một khoảng thời gian hợp lý để thực thi, ngay cả đối với các cơ sở dữ liệu lớn

Mặt khác, quá trình khôi phục cơ sở dữ liệu liên quan đến việc thực thi một số lượng lớn các câu lệnh, mỗi câu lệnh có độ trễ I/O đĩa riêng. Đối với cơ sở dữ liệu lớn, tốt nhất nên thực hiện sao lưu vật lý, sao chép trực tiếp từ hệ thống tệp

2. 4. nhập khẩu mysql

mysqlimport là một công cụ để thực thi câu lệnh LOAD DATA để chèn dữ liệu “ở tốc độ rất cao”, như tài liệu MySQL giải thích

Dữ liệu cần được xuất trước với câu lệnh SELECT… INTO OUTFILE để có thể nhập bằng mysqlimport

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
mysql>
1

Sau đó, trên một máy chủ hoặc cơ sở dữ liệu khác, chúng tôi có thể nhập dữ liệu

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
mysql>
2

2. 5. kiểm tra mysql

Tiện ích cuối cùng mà chúng ta sẽ nói đến là mysqlcheck, một công cụ thuận tiện để thực thi câu lệnh SQL CHECK TABLE. Cũng như các lệnh khác, chúng ta cần cung cấp ít nhất cơ sở dữ liệu mà chúng ta muốn kiểm tra

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
mysql>
3

Các liên kết tượng trưng bổ sung tới mysqlcheck đã được thêm vào để thực thi các câu lệnh bảo trì bảng khác — mysqlrepair cho REPAIR TABLE, mysqlanalize cho ANALYZE TABLE và mysqloptimize cho OPTIMIZE TABLE. Chúng ta có thể tìm thấy chi tiết sử dụng của từng câu lệnh trong tài liệu MySQL

3. Sự kết luận

Khi chúng tôi cài đặt MySQL hoặc MariaDB, chúng tôi nhận được một số tiện ích bắt đầu bằng “mysql”. Có thể dễ nhầm cách sử dụng từng công cụ, đặc biệt là mysql và mysqladmin

Trong hướng dẫn này, chúng ta đã xem các ví dụ về việc sử dụng các tiện ích phổ biến nhất của MySQL. Ngay cả khi mysql có thể là công cụ được sử dụng nhiều nhất, các công cụ còn lại đều có mục đích chuyên biệt và chúng tôi sẽ làm tốt nếu biết cách sử dụng chúng

tác giả dưới cùng

Nếu bạn có một vài năm kinh nghiệm trong hệ sinh thái Linux và bạn muốn chia sẻ trải nghiệm đó với cộng đồng, hãy xem Nguyên tắc đóng góp của chúng tôi

Làm thế nào để sử dụng máy khách MySQL?

Cách sử dụng Máy khách dòng lệnh MySQL .
Mở dấu nhắc lệnh
Điều hướng đến thư mục bin. Ví dụ. CDC. \Tệp chương trình\MySQL\MySQL Server 8. 0\bin
Chạy lệnh mysql -u root -p
Nhập mật khẩu

MySQL có phải là máy khách cơ sở dữ liệu không?

Phần mềm Cơ sở dữ liệu MySQL là một hệ thống máy khách/máy chủ bao gồm một máy chủ SQL đa luồng hỗ trợ các phần cuối khác nhau, một số chương trình và thư viện máy khách khác nhau, các công cụ quản trị và nhiều .

Sự khác biệt giữa vỏ MySQL và MySQL là gì?

MySQL Shell là trình chỉnh sửa mã và ứng dụng khách nâng cao dành cho Máy chủ MySQL . Ngoài chức năng SQL được cung cấp, tương tự như mysql, MySQL Shell cung cấp khả năng tạo tập lệnh cho JavaScript và Python và bao gồm các API để làm việc với MySQL.

Sự khác biệt giữa SQL Server và máy khách SQL là gì?

Các truy vấn SQL vẫn giống nhau bất kể các nền tảng khác nhau. Do đó, SQL là ngôn ngữ truy vấn độc lập với nền tảng. Mặt khác, SQL Server là phần mềm độc quyền và không thể sử dụng cùng một phần mềm cho tất cả các nền tảng. Do đó, SQL Server là một RDBMS phụ thuộc vào nền tảng