Dòng lệnh MySQL được sử dụng để làm gì?

Thông tin cấp phép. Sản phẩm này có thể bao gồm phần mềm của bên thứ ba, được sử dụng theo giấy phép. Nếu bạn đang sử dụng bản phát hành Thương mại của MySQL Shell, hãy xem Hướng dẫn sử dụng Thông tin Giấy phép Thương mại của MySQL Shell để biết thông tin cấp phép, bao gồm thông tin cấp phép liên quan đến phần mềm bên thứ ba có thể có trong bản phát hành Thương mại này. Nếu bạn đang sử dụng bản phát hành Cộng đồng của MySQL Shell, hãy xem Hướng dẫn sử dụng Thông tin Giấy phép Cộng đồng MySQL Shell để biết thông tin cấp phép, bao gồm thông tin cấp phép liên quan đến phần mềm bên thứ ba có thể có trong bản phát hành Cộng đồng này

Lệnh mysql là một trình bao đơn giản cho các lệnh SQL. Với sự tương tác của người dùng, nó có thể nhập các lệnh tại một dấu nhắc đặc biệt hoặc chạy một tập lệnh bó chứa các lệnh SQL của bạn

  • Sự miêu tả
  • cú pháp
  • ví dụ
  • Giới thiệu về MySQL
  • lệnh liên quan
  • Lệnh Linux trợ giúp

Sự miêu tả

Khi mysql được sử dụng tương tác, kết quả truy vấn được trình bày ở định dạng bảng. Khi được sử dụng không tương tá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

Cách đơn giản nhất để gọi mysql là chỉ định tên người dùng MySQL của bạn bằng tùy chọn -u và yêu cầu mysql nhắc bạn nhập mật khẩu của bạn bằng -p

mysql -u username -p

Bạn được hiển thị một thông báo giới thiệu ngắn gọn và sau đó được đặt tại dấu nhắc mysql>

Tại dấu nhắc mysql>, hãy nhập các lệnh MySQL, chẳng hạn như

mysql> SHOW DATABASES;

Để liệt kê các cơ sở dữ liệu tồn tại, hoặc

mysql> USE dbname;

để bắt đầu sử dụng cơ sở dữ liệu có tên dbname, hoặc

mysql> SELECT 21 * 2 AS meaning_of_life;

để hiển thị sản phẩm toán học của 2 và 21

Để kết thúc phiên mysql của bạn và quay lại dấu nhắc trình bao, hãy sử dụng lệnh

mysql> QUIT

Chạy các lệnh MySQL từ một tập lệnh bó

Thay vì sử dụng mysql một cách tương tác, bạn có thể thực thi các câu lệnh MySQL từ tệp script. Chẳng hạn, nếu bạn có một tệp văn bản có tên mysqlscript. txt chứa các lệnh MySQL, mỗi lệnh một dòng, bạn có thể sử dụng lệnh này

mysql -u username -p db_name < mysqlscript.txt > output.txt

và sau khi nhắc bạn nhập mật khẩu, mysql sẽ thực thi các lệnh trong mysqlscript. txt trên cơ sở dữ liệu db_name, ghi đầu ra vào tệp đầu ra. txt

Để có mô tả chuyên sâu về cách cài đặt MySQL trên hệ thống của bạn và tổng quan về cách sử dụng tương tác cơ bản của mysql, hãy xem phần giới thiệu về MySQL

cú pháp

mysql [options] db_name

Tùy chọn

mysql hỗ trợ các tùy chọn sau, có thể được chỉ định trên dòng lệnh hoặc trong nhóm [mysql] và [client] của tệp tùy chọn

--help, -?Hiển thị thông báo trợ giúp và thoát. --auto-rehashBật tính năng tự động phục hồi. Tùy chọn này được bật theo mặc định, cho phép hoàn thành tên cơ sở dữ liệu, bảng và cột. Sử dụng --disable-auto-rehash để tắt tính năng băm lại. Điều đó khiến mysql bắt đầu nhanh hơn, nhưng bạn phải đưa ra lệnh rehash nếu bạn muốn sử dụng hoàn thành tên.

Để hoàn thành tên, hãy nhập phần đầu tiên và nhấn Tab. Nếu tên rõ ràng, mysql hoàn thành nó. Nếu không, bạn có thể nhấn lại Tab để xem các tên có thể bắt đầu bằng những gì bạn đã nhập cho đến nay. Hoàn thành không xảy ra nếu không có cơ sở dữ liệu mặc định. --auto-vertical-outputLàm cho các tập hợp kết quả hiển thị theo chiều dọc nếu chúng quá rộng đối với cửa sổ hiện tại và sử dụng định dạng bảng bình thường nếu không. [Điều này áp dụng cho câu lệnh kết thúc bởi ; hoặc \G. ] Tùy chọn này đã được thêm vào MySQL 5. 5. 3. --batch, -BPrint kết quả sử dụng tab làm dấu tách cột, với mỗi hàng trên một dòng mới. Với tùy chọn này, mysql không sử dụng tệp lịch sử. Chế độ hàng loạt dẫn đến định dạng đầu ra không phải dạng bảng và thoát khỏi các ký tự đặc biệt. Thoát có thể bị vô hiệu hóa bằng chế độ thô; . --bind-address=ip_addressTrên máy tính có nhiều giao diện mạng, tùy chọn này có thể chọn giao diện nào được sử dụng khi kết nối với máy chủ MySQL. Tùy chọn này chỉ được hỗ trợ trong phiên bản máy khách mysql được cung cấp cùng với MySQL Cluster. Nó không có sẵn trong MySQL Server 5 tiêu chuẩn. 5 bản phát hành. --character-sets-dir=pathThư mục cài đặt bộ ký tự. --column-namesGhi tên cột vào kết quả. --column-type-info, -mDisplay siêu dữ liệu tập hợp kết quả. --comments, -cCó nên giữ lại các bình luận trong các câu lệnh được gửi tới máy chủ không. Mặc định là --skip-comments [loại bỏ bình luận], kích hoạt với --comments [giữ lại bình luận]. --compress, -CCompress tất cả thông tin được gửi giữa máy khách và máy chủ nếu cả hai đều hỗ trợ nén. --database=db_name,
-D db_nameCơ sở dữ liệu sẽ sử dụng. Công tắc này hữu ích chủ yếu trong tệp tùy chọn. --debug[=debug_options],
-# [debug_options]Viết nhật ký gỡ lỗi. Một chuỗi debug_options điển hình là 'd. t. o,file_name'. Mặc định là 'd. t. o,/tmp/mysql. dấu vết'. --debug-checkIn một số thông tin gỡ lỗi khi chương trình thoát. --debug-info, -TPrint thông tin gỡ lỗi và thống kê sử dụng bộ nhớ và CPU khi chương trình thoát. --default-auth=pluginPlugin xác thực phía máy khách để sử dụng.

Tùy chọn này đã được thêm vào MySQL 5. 5. 7. --default-character-set=charset_nameSử dụng charset_name làm bộ ký tự mặc định cho máy khách và kết nối.

Một vấn đề phổ biến xảy ra khi hệ điều hành sử dụng utf8 hoặc một bộ ký tự nhiều byte khác là đầu ra từ máy khách mysql được định dạng không chính xác, bởi vì máy khách MySQL đó sử dụng bộ ký tự latin1 theo mặc định. Bạn thường có thể khắc phục các sự cố như vậy bằng cách sử dụng tùy chọn này để buộc khách hàng sử dụng bộ ký tự hệ thống thay thế. --delimiter=strĐặt dấu phân cách câu lệnh. Mặc định là ký tự chấm phẩy [;"]. --disable-named-commandsVô hiệu hóa các lệnh có tên. Chỉ sử dụng biểu mẫu \* hoặc chỉ sử dụng các lệnh được đặt tên ở đầu dòng kết thúc bằng dấu chấm phẩy [;"]. Lệnh mysql bắt đầu với tùy chọn này được bật theo mặc định. Tuy nhiên, ngay cả với tùy chọn này, các lệnh định dạng dài vẫn hoạt động từ dòng đầu tiên. --enable-cleartext-pluginBật plugin xác thực văn bản rõ ràng mysql_clear_password. Tùy chọn này đã được thêm vào MySQL 5. 5. 27. --execute=câu lệnh,
-e câu lệnh Thực hiện câu lệnh và thoát. Định dạng đầu ra mặc định giống như định dạng được tạo bằng --batch. Với tùy chọn này, mysql không sử dụng tệp lịch sử. --force, -fContinue ngay cả khi xảy ra lỗi SQL. --host=host_name,
-h host_nameKết nối với máy chủ MySQL trên máy chủ đã cho. --html, -HSản xuất đầu ra HTML. --ignore-spaces, -iIgnore khoảng trắng sau tên hàm. Tác dụng của chuyển đổi này được mô tả trong phần thảo luận về chế độ SQL IGNORE_SPACE. --init-command=strSQL câu lệnh để thực thi sau khi kết nối với máy chủ. Nếu tự động kết nối lại được bật, câu lệnh sẽ được thực hiện lại sau khi kết nối lại xảy ra. --line-numbersViết số dòng cho các lỗi. Vô hiệu hóa điều này với --skip-line-numbers. --local-infile[={0. 1}]Bật hoặc tắt khả năng ĐỊA PHƯƠNG cho LOAD DATA INFILE. Không có giá trị, tùy chọn cho phép ĐỊA PHƯƠNG. Tùy chọn có thể được cung cấp dưới dạng --local-infile=0 hoặc --local-infile=1 để tắt hoặc bật LOCAL một cách rõ ràng. Kích hoạt LOCAL không có hiệu lực nếu máy chủ cũng không hỗ trợ nó. --named-commands, -GEnable các lệnh mysql được đặt tên. Các lệnh định dạng dài được cho phép, ngoài các lệnh định dạng ngắn. Ví dụ: thoát và \q cả hai đều được nhận dạng. Sử dụng --skip-named-commands để tắt các lệnh được đặt tên. --no-auto-rehash, -AĐiều này có tác dụng tương tự như -skip-auto-rehash. Xem mô tả cho --auto-rehash. --no-beep, -bDo not beep khi xảy ra lỗi. --no-named-commands, -gDeprecated, thay vào đó hãy sử dụng --disable-named-commands. --no-named-commands đã bị xóa trong MySQL 5. 5. 3. --no-pagerDạng không dùng nữa của --skip-pager. Xem tùy chọn --pager. --no-pager đã bị xóa trong MySQL 5. 5. 3. --no-teeDạng không dùng nữa của --skip-tee. Xem tùy chọn --tee. --no-tee bị xóa trong MySQL 5. 5. 3. --one-database, -oIgnore câu lệnh ngoại trừ những câu lệnh xảy ra trong khi cơ sở dữ liệu mặc định là cơ sở dữ liệu có tên trên dòng lệnh. Tùy chọn này là thô sơ và nên được sử dụng cẩn thận. Lọc câu lệnh chỉ dựa trên câu lệnh SỬ DỤNG.

Ban đầu, mysql thực thi các câu lệnh trong đầu vào vì việc chỉ định một cơ sở dữ liệu db_name trên dòng lệnh tương đương với việc chèn USE db_name vào đầu đầu vào. Sau đó, đối với mỗi câu lệnh USE gặp phải, mysql chấp nhận hoặc từ chối các câu lệnh sau tùy thuộc vào việc cơ sở dữ liệu có tên có phải là cơ sở dữ liệu trên dòng lệnh hay không. Nội dung của các tuyên bố là không quan trọng.

Giả sử mysql được gọi để xử lý tập hợp các câu lệnh này.

______7Nếu dòng lệnh là mysql --force --one-database db1, mysql sẽ xử lý đầu vào như sau.

Câu lệnh XÓA được thực thi vì cơ sở dữ liệu mặc định là db1, mặc dù câu lệnh đặt tên một bảng trong một cơ sở dữ liệu khác.

Các câu lệnh DROP TABLE và CREATE TABLE không được thực thi vì cơ sở dữ liệu mặc định không phải là db1, mặc dù các câu lệnh đặt tên bảng trong db1.

Các câu lệnh INSERT và CREATE TABLE được thực thi vì cơ sở dữ liệu mặc định là db1, mặc dù câu lệnh CREATE TABLE đặt tên cho một bảng trong một cơ sở dữ liệu khác. --pager[=command]Sử dụng lệnh đã cho để phân trang đầu ra truy vấn. Nếu lệnh bị bỏ qua, máy nhắn tin mặc định là giá trị của biến môi trường PAGER của bạn. Máy nhắn tin hợp lệ ít hơn, nhiều hơn, mèo [> tên tệp], v.v. Tùy chọn này chỉ hoạt động trên Unix và chỉ trong chế độ tương tác. Để tắt phân trang, hãy sử dụng --skip-pager. Xem các lệnh MySQL để biết thêm thông tin về phân trang đầu ra. --password[=password],
-p[password]Mật khẩu sử dụng khi kết nối với máy chủ. Nếu bạn sử dụng biểu mẫu tùy chọn ngắn [-p], bạn không thể có khoảng cách giữa tùy chọn và mật khẩu. Nếu bạn bỏ qua giá trị mật khẩu sau tùy chọn --password hoặc -p trên dòng lệnh, mysql sẽ nhắc cho một.

Việc chỉ định mật khẩu trên dòng lệnh được coi là không an toàn. Bạn có thể sử dụng một tệp tùy chọn để tránh cung cấp mật khẩu trên dòng lệnh. --pipe, -WTrên Windows, kết nối với máy chủ bằng một đường ống có tên. Tùy chọn này chỉ áp dụng nếu máy chủ hỗ trợ kết nối ống dẫn có tên. --plugin-dir=pathThư mục để tìm plugin. Có thể cần chỉ định tùy chọn này nếu tùy chọn --default-auth được sử dụng để chỉ định plugin xác thực nhưng mysql không tìm thấy nó.

Tùy chọn này đã được thêm vào MySQL 5. 5. 7. --port=port_num,
-P port_numSố cổng TCP/IP sẽ sử dụng cho kết nối. --prompt=format_strĐặt dấu nhắc theo định dạng đã chỉ định. Mặc định là mysql>. Các trình tự đặc biệt chứa dấu nhắc được mô tả trong phần lệnh MySQL. --protocol={TCP. Ổ CẮM. ĐƯỜNG ỐNG. BỘ NHỚ}Giao thức kết nối được sử dụng để kết nối với máy chủ. Nó rất hữu ích khi thông thường các thông số kết nối khác sẽ khiến một giao thức được sử dụng khác với giao thức bạn muốn. --quick, -qKhông lưu trữ từng kết quả truy vấn; . Điều này có thể làm chậm máy chủ nếu đầu ra bị treo. Với tùy chọn này, mysql không sử dụng tệp lịch sử. --raw, -rĐối với đầu ra dạng bảng, "boxing" xung quanh các cột cho phép phân biệt một giá trị cột với giá trị khác. Đối với đầu ra không dạng bảng [chẳng hạn như được tạo ở chế độ hàng loạt hoặc khi tùy chọn --batch hoặc --silent được cung cấp], các ký tự đặc biệt được thoát trong đầu ra để có thể dễ dàng xác định chúng. Dòng mới, tab, NUL và dấu gạch chéo ngược được viết dưới dạng \n, \t, \0 và \\. Tùy chọn --raw vô hiệu hóa ký tự này thoát.

Ví dụ sau đây minh họa đầu ra dạng bảng so với không dạng bảng và việc sử dụng chế độ thô để tắt tính năng thoát.

mysql
mysql> SELECT CHAR[92];
mysql> SHOW DATABASES;
0
mysql> SHOW DATABASES;
1
mysql> SELECT CHAR[92];
mysql> SHOW DATABASES;
3
mysql> SHOW DATABASES;
4
mysql> SELECT CHAR[92];
mysql> SHOW DATABASES;
6--kết nối lạiNếu mất kết nối với máy chủ, hãy tự động thử kết nối lại. Một nỗ lực kết nối lại duy nhất được thực hiện mỗi khi mất kết nối. Để chặn hành vi kết nối lại, hãy sử dụng --skip-reconnect. --safe-updates,
--i-am-a-dummy,
-UPChỉ cho phép các câu lệnh UPDATE và DELETE chỉ định các hàng cần sửa đổi bằng phím . Nếu bạn đã đặt tùy chọn này trong tệp tùy chọn, bạn có thể ghi đè tùy chọn đó bằng cách sử dụng --safe-updates trên dòng lệnh. --secure-authKhông gửi mật khẩu đến máy chủ cũ [trước 4. 1. 1] định dạng. Điều này ngăn các kết nối ngoại trừ các máy chủ sử dụng định dạng mật khẩu mới hơn. --show-warningsLàm cho các cảnh báo hiển thị sau mỗi câu lệnh, nếu có bất kỳ. Tùy chọn này áp dụng cho chế độ tương tác và hàng loạt. --sigint-ignoreBỏ qua tín hiệu SIGINT [thường là kết quả của việc nhập Control+C]. --silent, -sChế độ im lặng. Sản xuất ít hơn. Tùy chọn này có thể được đưa ra nhiều lần để tạo ra sản lượng ngày càng ít hơn.

Tùy chọn này dẫn đến định dạng đầu ra không phải dạng bảng và thoát các ký tự đặc biệt. Thoát có thể bị vô hiệu hóa bằng chế độ thô; . --skip-column-names, -Không viết tên cột trong kết quả. --skip-line-numbers, -LDKhông viết số dòng cho các lỗi. Hữu ích khi bạn muốn so sánh các tệp kết quả bao gồm thông báo lỗi. --socket=path, -S pathĐối với các kết nối tới máy chủ cục bộ, tệp ổ cắm Unix sẽ sử dụng hoặc trên Windows, tên của đường ống được đặt tên sẽ sử dụng. --ssl*Các tùy chọn bắt đầu bằng --ssl chỉ định có kết nối với máy chủ bằng SSL hay không và cho biết nơi tìm các khóa và chứng chỉ SSL. --table, -tDisplay đầu ra ở định dạng bảng. Công tắc này là mặc định để sử dụng tương tác, nhưng có thể tạo đầu ra bảng ở chế độ hàng loạt. --tee=file_nameThêm một bản sao đầu ra vào tệp đã cho. Tùy chọn này chỉ hoạt động trong chế độ tương tác. Phần có tên "LỆNH MYSQL", thảo luận thêm về các tệp tee. --unbuffered, -nFlush bộ đệm sau mỗi truy vấn. --user=user_name,
-u user_nameTên người dùng MySQL sẽ sử dụng khi kết nối với máy chủ. --verbose, chế độ -vVerbose. Tạo ra nhiều đầu ra hơn về những gì chương trình làm. Tùy chọn này có thể được cung cấp nhiều lần để tạo ra nhiều sản lượng hơn. [Ví dụ: -v -v -v tạo định dạng đầu ra của bảng ngay cả ở chế độ hàng loạt. ]--version, -VDisplay thông tin phiên bản và thoát. --vertical, -EPrint các hàng đầu ra truy vấn theo chiều dọc [một dòng trên mỗi giá trị cột]. Nếu không có tùy chọn này, bạn có thể chỉ định đầu ra dọc cho các câu lệnh riêng lẻ bằng cách kết thúc chúng bằng \G. --wait, -wNếu không thể thiết lập kết nối, hãy đợi và thử lại thay vì hủy bỏ. --xml, -XSản xuất đầu ra XML. Xem hướng dẫn sử dụng mysql để biết thêm thông tin.

lệnh MySQL

mysql gửi từng câu lệnh SQL mà bạn đưa ra tới máy chủ để được thực thi. Lưu ý rằng tất cả các lệnh văn bản trước tiên phải trực tuyến và kết thúc bằng ';'

Ngoài ra còn có một bộ lệnh mà mysql tự giải thích. Để biết danh sách các lệnh này, hãy nhập trợ giúp hoặc \h tại dấu nhắc mysql>

?[\?]Từ đồng nghĩa với 'trợ giúp'. xóa[\c]Xóa lệnh. connect[\r]Kết nối lại với máy chủ. Đối số tùy chọn là db và Host. dấu phân cách[\d]Đặt dấu phân cách câu lệnh. chỉnh sửa[\e]Chỉnh sửa lệnh với $EDITOR. ego[\G]Gửi lệnh tới mysql server, hiển thị kết quả theo chiều dọc. thoát [\ q] Thoát khỏi mysql. Tương tự như thoát. go[\g]Gửi lệnh đến máy chủ mysql. trợ giúp[\h]Hiển thị trợ giúp này. nopager[\n]Vô hiệu hóa máy nhắn tin, in ra thiết bị xuất chuẩn. notee[\t]Không ghi vào outfile. máy nhắn tin[\P]Đặt PAGER [to_pager]. In kết quả truy vấn qua PAGER. print[\p]In lệnh hiện hành. dấu nhắc[\R]Thay đổi dấu nhắc mysql của bạn,thoát[\q]Thoát mysql. rehash[\#]Băm hoàn thành xây dựng lại. nguồn[\. ] Thực thi tệp tập lệnh SQL. Lấy tên tệp làm đối số. status[\s]Nhận thông tin trạng thái từ máy chủ. hệ thống[\. ] Thực thi lệnh shell hệ thống. tee[\T]Đặt tệp ngoài [to_outfile]. Nối mọi thứ vào outfile đã cho. sử dụng[\u]Sử dụng cơ sở dữ liệu khác. Lấy tên cơ sở dữ liệu làm đối số. bộ ký tự[\C]Chuyển sang bộ ký tự khác. Có thể cần thiết để xử lý binlog với bộ ký tự nhiều byte. cảnh báo[\W]Hiển thị cảnh báo sau mỗi câu lệnh. nowarning[\w]Không hiển thị cảnh báo sau mỗi câu lệnh

ví dụ

Để biết mô tả chuyên sâu về cách cài đặt MySQL và tổng quan về các lệnh cơ bản, hãy xem Giới thiệu về MySQL

Sau đây là một vài lệnh đáng chú ý khác

mysql> SHOW DATABASES;
7

Sao lưu cơ sở dữ liệu "hope_SMF" vào smf. sql sau khi tên người dùng và mật khẩu đã được xác minh

mysql> SHOW DATABASES;
8

Trạng thái đang chạy trong khi ở dấu nhắc mysql> sẽ cung cấp cho bạn kết quả trạng thái MySQL tương tự như những gì được hiển thị bên dưới

Mục đích sử dụng lệnh trong MySQL là gì?

Câu lệnh USE yêu cầu MySQL sử dụng cơ sở dữ liệu đã đặt tên làm cơ sở dữ liệu mặc định [hiện tại] cho các câu lệnh tiếp theo . Câu lệnh này yêu cầu một số đặc quyền cho cơ sở dữ liệu hoặc một số đối tượng bên trong nó. Tên cơ sở dữ liệu phải được chỉ định trên một dòng.

Cách chạy MySQL từ lệnh

Khởi chạy ứng dụng khách dòng lệnh MySQL. Để khởi chạy ứng dụng khách, hãy nhập lệnh sau vào cửa sổ Dấu nhắc Lệnh. mysql -u root -p . Tùy chọn -p chỉ cần thiết nếu mật khẩu gốc được xác định cho MySQL. Nhập mật khẩu khi được nhắc.

Chủ Đề