Nuestra base de conocimientos sólo está disponible factmente en inglés. Estamos en el processo de traducir estas páginas and las publicaremos cundo estén disponibles
Bài viết này mô tả cách kết nối với MySQL từ dòng lệnh bằng chương trình mysql. Bạn có thể sử dụng chương trình mysql như một cách nhanh chóng và dễ dàng để truy cập trực tiếp vào cơ sở dữ liệu của mình
Kết nối với MySQL từ Dòng lệnh
Để kết nối với MySQL từ dòng lệnh, hãy làm theo các bước sau
- Đăng nhập vào tài khoản A2 Hosting của bạn bằng SSH
- Tại dòng lệnh, gõ lệnh sau, thay thế tên người dùng bằng tên người dùng của bạn.
mysql -u username -p
- Tại dấu nhắc Nhập mật khẩu, hãy nhập mật khẩu của bạn. Khi bạn nhập đúng mật khẩu, dấu nhắc mysql> xuất hiện
Để hiển thị danh sách cơ sở dữ liệu, gõ lệnh sau tại dấu nhắc mysql>
show databases;
Đảm bảo bạn không quên dấu chấm phẩy ở cuối câu lệnh
Để truy cập một cơ sở dữ liệu cụ thể, hãy nhập lệnh sau tại dấu nhắc mysql>, thay thế dbname bằng tên của cơ sở dữ liệu mà bạn muốn truy cập
use dbname;
Hãy chắc chắn rằng bạn không quên dấu chấm phẩy ở cuối câu lệnh
Sau khi bạn truy cập cơ sở dữ liệu, bạn có thể chạy truy vấn SQL, liệt kê bảng, v.v. Ngoài ra
- Để xem danh sách các lệnh MySQL, hãy nhập trợ giúp tại dấu nhắc mysql>
- Để thoát khỏi chương trình mysql, gõ \q tại dấu nhắc mysql>
Khi bạn chạy một lệnh tại dấu nhắc mysql>, bạn có thể nhận được thông báo cảnh báo nếu MySQL gặp sự cố. Ví dụ: bạn có thể chạy truy vấn và nhận được thông báo giống như sau
Query OK, 0 rows affected, 1 warning [0.04 sec].
Để xem thông báo cảnh báo đầy đủ, hãy nhập lệnh sau
SHOW WARNINGS;
Thêm thông tin
Phát triển doanh nghiệp web của bạn
Đăng ký để nhận các mẹo, chiến lược và tin tức tiên tiến hàng tuần mà bạn cần để phát triển công việc kinh doanh web của mình
Miễn phí. Hủy đăng ký bất cứ lúc nào
Bạn có thấy bài viết này hữu ích? . Trải nghiệm sự khác biệt của A2 Hosting ngay hôm nay và sở hữu một trang web được bảo mật trước, được tối ưu hóa trước. Kiểm tra kế hoạch lưu trữ web của chúng tôi ngày hôm nay
mysql [từ MariaDB 10. 4. 6, còn được gọi là mariadb] là một trình bao SQL đơn giản [có khả năng đọc GNU]. Nó hỗ trợ sử dụng tương tác và không tương tác. Khi được sử dụng tương tác, kết quả truy vấn được trình bày ở định dạng bảng ASCII. Khi được sử dụng không tương tác [ví dụ: dưới dạng bộ lọc], kết quả được trình bày ở định dạng được phân tách bằng tab. Định dạng đầu ra có thể được thay đổi bằng các tùy chọn lệnh
Nếu bạn gặp sự cố do không đủ bộ nhớ cho tập hợp kết quả lớn, hãy sử dụng tùy chọn
mysql --user=user_name --password=your_password db_name1. Điều này buộc mysql truy xuất kết quả từ máy chủ một hàng tại một thời điểm thay vì truy xuất toàn bộ tập kết quả và đệm nó trong bộ nhớ trước khi hiển thị. Điều này được thực hiện bằng cách trả về tập kết quả bằng cách sử dụng hàm API
mysql --user=user_name --password=your_password db_name2 C trong thư viện máy khách/máy chủ thay vì
mysql --user=user_name --password=your_password db_name3
Sử dụng mysql rất dễ dàng. Gọi nó từ lời nhắc của trình thông dịch lệnh của bạn như sau
________số 8Hoặc
mysql --user=user_name --password=your_password db_name
Sau đó nhập câu lệnh SQL, kết thúc câu lệnh bằng dấu “;”, \g hoặc \G rồi nhấn Enter
Nhập Control-C khiến mysql cố gắng hủy câu lệnh hiện tại. Nếu điều này không thể thực hiện được hoặc Control-C được nhập lại trước khi câu lệnh bị tắt, mysql sẽ thoát
Bạn có thể thực thi các câu lệnh SQL trong một tệp script [tệp bó] như thế này
show databases;0
Từ MariaDB 10. 4. 6,
mysql --user=user_name --password=your_password db_name4 có sẵn dưới dạng liên kết tượng trưng tới
mysql --user=user_name --password=your_password db_name5
Từ MariaDB 10. 5. 2,
mysql --user=user_name --password=your_password db_name5 là liên kết tượng trưng và
mysql --user=user_name --password=your_password db_name4 tên nhị phân
sử dụng mysql
Lệnh sử dụng
mysql --user=user_name --password=your_password db_name5 và cú pháp chung là
show databases;6
Tùy chọn
mysql --user=user_name --password=your_password db_name5 hỗ trợ các tùy chọn sau
Tệp tùy chọn
Ngoài việc đọc các tùy chọn từ dòng lệnh,
mysql --user=user_name --password=your_password db_name5 cũng có thể đọc các tùy chọn từ các tệp tùy chọn. Nếu một tùy chọn không xác định được cung cấp cho
mysql --user=user_name --password=your_password db_name5 trong tệp tùy chọn, thì tùy chọn đó sẽ bị bỏ qua
Các tùy chọn sau đây liên quan đến cách các công cụ dòng lệnh của MariaDB xử lý các tệp tùy chọn. Chúng phải được đưa ra làm đối số đầu tiên trên dòng lệnh
Trong MariaDB 10. 2 trở lên,
mysql --user=user_name --password=your_password db_name5 được liên kết với MariaDB Connector/C. Tuy nhiên, Trình kết nối MariaDB/C chưa xử lý việc phân tích cú pháp các tệp tùy chọn cho máy khách này. Điều đó vẫn được thực hiện bởi mã phân tích tệp tùy chọn máy chủ. Xem MDEV-19035 để biết thêm thông tin
Nhóm tùy chọn
mysql --user=user_name --password=your_password db_name5 đọc các tùy chọn sau đây từ các tệp tùy chọn
Cách chỉ định giao thức nào sẽ sử dụng khi kết nối với máy chủ mysqld
Bạn có thể buộc giao thức nào được sử dụng để kết nối với máy chủ
show databases;04 bằng cách cung cấp cho tùy chọn
show databases;05 một trong các giá trị sau.
show databases;06,
show databases;07,
show databases;08 hoặc
show databases;09
Nếu
show databases;05 không được chỉ định, trước MariaDB 10. 6. 1, các thuộc tính kết nối dòng lệnh không bắt buộc giao thức sẽ bị bỏ qua
Từ MariaDB 10. 6. 1, thuộc tính kết nối được chỉ định thông qua dòng lệnh [e. g.
show databases;61] sẽ buộc loại của nó. Giao thức phù hợp với thuộc tính kết nối tương ứng được sử dụng, e. g. kết nối TCP/IP được tạo khi
show databases;62 được chỉ định
Nếu nhiều hoặc không có thuộc tính kết nối nào được chỉ định thông qua dòng lệnh, thì điều sau đây sẽ xảy ra
Linux/Unix
- Nếu
show databases;
63 không được chỉ định hoặcshow databases;
63 làshow databases;
65, thì ổ cắm Unix được sử dụng - Trong các trường hợp khác [_______163 được đưa ra và nó không phải là ____165] thì kết nối TCP/IP thông qua tùy chọn
show databases;
68 được sử dụng
Lưu ý rằng
show databases;65 là một giá trị đặc biệt. Sử dụng 127. 0. 0. 1 không phải là điều tương tự. Cái sau sẽ kết nối với máy chủ mysqld thông qua TCP/IP
các cửa sổ
- Nếu
Query OK, 0 rows affected, 1 warning [0.04 sec].
80 được chỉ định vàshow databases;
63 không được chỉ định hoặcshow databases;
63 làshow databases;
65, thì kết nối sẽ diễn ra thông qua bộ nhớ dùng chung - Nếu
Query OK, 0 rows affected, 1 warning [0.04 sec].
80 không được chỉ định vàshow databases;
63 không được chỉ định hoặcshow databases;
63 làshow databases;
65 thì kết nối sẽ diễn ra thông qua các cửa sổ có tên là đường ống - Các đường ống được đặt tên cũng sẽ được sử dụng nếu thư viện máy khách
Query OK, 0 rows affected, 1 warning [0.04 sec].
88 /Query OK, 0 rows affected, 1 warning [0.04 sec].
89 phát hiện ra rằng máy khách không hỗ trợ TCP/IP - Trong các trường hợp khác thì kết nối TCP/IP thông qua tùy chọn
show databases;
68 được sử dụng
Cách kiểm tra giao thức nào được sử dụng
Lệnh
SHOW WARNINGS;91 hiển thị cho bạn thông tin về giao thức nào được sử dụng
Query OK, 0 rows affected, 1 warning [0.04 sec].8
lệnh mysql
Ngoài ra còn có một số lệnh có thể chạy bên trong máy khách. Lưu ý rằng tất cả các lệnh văn bản phải ở dòng đầu tiên và kết thúc bằng ';'
Tệp mysql_history
Trên Unix, máy khách mysql ghi một bản ghi các câu lệnh đã thực thi vào một tệp lịch sử. Theo mặc định, tệp này có tên là
SHOW WARNINGS;92 và được tạo trong thư mục chính của bạn. Để chỉ định một tệp khác, hãy đặt giá trị của biến môi trường MYSQL_HISTFILE
Các. Tệp mysql_history phải được bảo vệ bằng chế độ truy cập hạn chế vì thông tin nhạy cảm có thể được ghi vào tệp, chẳng hạn như văn bản của câu lệnh SQL có chứa mật khẩu
Nếu bạn không muốn duy trì tệp lịch sử, trước tiên hãy xóa. mysql_history nếu nó tồn tại, sau đó sử dụng một trong các kỹ thuật sau
- Đặt biến MYSQL_HISTFILE thành/dev/null. Để cài đặt này có hiệu lực mỗi khi bạn đăng nhập, hãy đặt cài đặt vào một trong các tệp khởi động của trình bao của bạn
- Tạo ra. mysql_history như một liên kết tượng trưng đến/dev/null
SHOW WARNINGS;9
Bạn chỉ cần làm điều này một lần
dấu nhắc Lệnh
Lệnh nhắc cấu hình lại dấu nhắc mặc định
SHOW WARNINGS;93. Chuỗi để xác định dấu nhắc có thể chứa các chuỗi đặc biệt sau
mẹo mysql
Phần này mô tả một số kỹ thuật có thể giúp bạn sử dụng
SHOW WARNINGS;94 hiệu quả hơn
Hiển thị kết quả truy vấn theo chiều dọc
Một số kết quả truy vấn dễ đọc hơn nhiều khi được hiển thị theo chiều dọc, thay vì ở định dạng bảng ngang thông thường. Truy vấn có thể được hiển thị theo chiều dọc bằng cách kết thúc truy vấn bằng \G thay vì dấu chấm phẩy. Ví dụ: các giá trị văn bản dài hơn bao gồm các dòng mới thường dễ đọc hơn nhiều với đầu ra dọc
mysql --user=user_name --password=your_password db_name5
Đối với người mới bắt đầu, một tùy chọn khởi động hữu ích là
SHOW WARNINGS;95 [hoặc
SHOW WARNINGS;96, có tác dụng tương tự]. Nó hữu ích cho các trường hợp khi bạn có thể đưa ra tuyên bố
SHOW WARNINGS;97 nhưng lại quên điều khoản
SHOW WARNINGS;98. Thông thường, một câu lệnh như vậy sẽ xóa tất cả các hàng khỏi bảng. Với
SHOW WARNINGS;95, bạn chỉ có thể xóa các hàng bằng cách chỉ định các giá trị chính xác định chúng. Điều này giúp ngăn ngừa tai nạn
Khi bạn sử dụng tùy chọn
SHOW WARNINGS;95, mysql sẽ đưa ra câu lệnh sau khi nó kết nối với máy chủ MariaDB
mysql --user=user_name --password=your_password db_name2
Câu lệnh SET có các tác dụng sau
- Bạn không được phép thực thi câu lệnh CẬP NHẬT hoặc XÓA trừ khi bạn chỉ định ràng buộc khóa trong mệnh đề WHERE hoặc cung cấp mệnh đề GIỚI HẠN [hoặc cả hai]. Ví dụ
mysql --user=user_name --password=your_password db_name3
- Máy chủ giới hạn tất cả các kết quả large
mysql --user=user_name --password=your_password db_name
51 ở 1.000 hàng trừ khi câu lệnh bao gồm mệnh đềmysql --user=user_name --password=your_password db_name
52 - Máy chủ hủy bỏ các câu lệnh
mysql --user=user_name --password=your_password db_name
51 nhiều bảng có thể cần kiểm tra hơn 1.000.000 kết hợp hàng
Để chỉ định các giới hạn khác với 1.000 và 1.000.000, bạn có thể ghi đè các giá trị mặc định bằng cách sử dụng tùy chọn
mysql --user=user_name --password=your_password db_name54 và
mysql --user=user_name --password=your_password db_name55
mysql --user=user_name --password=your_password db_name9
Vô hiệu hóa tự động kết nối lại mysql
Nếu máy khách mysql mất kết nối với máy chủ trong khi gửi câu lệnh, nó sẽ ngay lập tức và tự động cố gắng kết nối lại một lần với máy chủ và gửi lại câu lệnh. Tuy nhiên, ngay cả khi mysql kết nối lại thành công, kết nối đầu tiên của bạn đã kết thúc và tất cả các đối tượng và cài đặt phiên trước đó của bạn sẽ bị mất. các bảng tạm thời, chế độ tự động gửi và các biến phiên và do người dùng xác định. Ngoài ra, mọi giao dịch hiện tại sẽ quay trở lại. Hành vi này có thể gây nguy hiểm cho bạn, như trong ví dụ sau khi máy chủ bị tắt và khởi động lại giữa câu lệnh thứ nhất và câu lệnh thứ hai mà bạn không biết
mysql --user=user_name --password=your_password db_name0
Biến người dùng @a đã bị mất khi kết nối và sau khi kết nối lại, nó không được xác định. Nếu điều quan trọng là phải chấm dứt mysql do lỗi nếu kết nối bị mất, bạn có thể khởi động ứng dụng khách mysql bằng tùy chọn
mysql --user=user_name --password=your_password db_name56