Lệnh nào thay đổi lời nhắc thành (user@host) [database]> trong máy khách mysql?

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_name
1. Đ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 hàm
mysql --user=user_name --password=your_password db_name
2 C API trong thư viện máy khách/máy chủ thay vì
mysql --user=user_name --password=your_password db_name
3

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

mysql db_name

Hoặc là

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

mysql db_name < script.sql > output.tab

Từ MariaDB 10. 4. 6,

mysql --user=user_name --password=your_password db_name
4 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_name
5

Từ MariaDB 10. 5. 2,

mysql --user=user_name --password=your_password db_name
5 là liên kết tượng trưng và
mysql --user=user_name --password=your_password db_name
4 tên nhị phân

sử dụng mysql

Lệnh sử dụng

mysql --user=user_name --password=your_password db_name
5 và cú pháp chung là

mysql 

Tùy chọn

mysql --user=user_name --password=your_password db_name
5 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_name
5 cũng có thể đọc các tùy chọn từ 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_name
5 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_name
5 được liên kết với Trình kết nối MariaDB/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_name
5 đọ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ủ

mysql db_name < script.sql > output.tab
4 bằng cách cung cấp cho tùy chọn
mysql db_name < script.sql > output.tab
5 một trong các giá trị sau.
mysql db_name < script.sql > output.tab
6,
mysql db_name < script.sql > output.tab
7,
mysql db_name < script.sql > output.tab
8 hoặc
mysql db_name < script.sql > output.tab
9

Nếu

mysql db_name < script.sql > output.tab
5 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.

mysql 
1) 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 ____11_______2 đượ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
    mysql 
    
    3 không được chỉ định hoặc
    mysql 
    
    3 là
    mysql 
    
    5, thì ổ cắm Unix được sử dụng
  • Trong các trường hợp khác (_______11_______3 được đưa ra và nó không phải là ____11_______5) thì kết nối TCP/IP thông qua tùy chọn
    mysql 
    
    8 được sử dụng

Lưu ý rằng

mysql 
5 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
    shell> mysql test
    
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 10
    Server version: 10.2.2-MariaDB-valgrind-max-debug Source distribution
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [test]> status;
    --------------
    mysql  Ver 15.1 Distrib 10.0.25-MariaDB, for Linux (x86_64) using readline 5.2
    
    Connection id:          10
    Current database:       test
    Current user:           monty@localhost
    ...
    Connection:             Localhost via UNIX socket
    ...
    UNIX socket:            /tmp/mysql-dbug.sock
    
    0 được chỉ định và
    mysql 
    
    3 không được chỉ định hoặc
    mysql 
    
    3 là
    mysql 
    
    5, thì kết nối sẽ diễn ra thông qua bộ nhớ dùng chung
  • Nếu
    shell> mysql test
    
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 10
    Server version: 10.2.2-MariaDB-valgrind-max-debug Source distribution
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [test]> status;
    --------------
    mysql  Ver 15.1 Distrib 10.0.25-MariaDB, for Linux (x86_64) using readline 5.2
    
    Connection id:          10
    Current database:       test
    Current user:           monty@localhost
    ...
    Connection:             Localhost via UNIX socket
    ...
    UNIX socket:            /tmp/mysql-dbug.sock
    
    0 không được chỉ định và
    mysql 
    
    3 không được chỉ định hoặc
    mysql 
    
    3 là
    mysql 
    
    5, 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 dẫn được đặt tên cũng sẽ được sử dụng nếu thư viện máy khách
    shell> mysql test
    
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 10
    Server version: 10.2.2-MariaDB-valgrind-max-debug Source distribution
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [test]> status;
    --------------
    mysql  Ver 15.1 Distrib 10.0.25-MariaDB, for Linux (x86_64) using readline 5.2
    
    Connection id:          10
    Current database:       test
    Current user:           monty@localhost
    ...
    Connection:             Localhost via UNIX socket
    ...
    UNIX socket:            /tmp/mysql-dbug.sock
    
    8 /
    shell> mysql test
    
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 10
    Server version: 10.2.2-MariaDB-valgrind-max-debug Source distribution
    
    Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [test]> status;
    --------------
    mysql  Ver 15.1 Distrib 10.0.25-MariaDB, for Linux (x86_64) using readline 5.2
    
    Connection id:          10
    Current database:       test
    Current user:           monty@localhost
    ...
    Connection:             Localhost via UNIX socket
    ...
    UNIX socket:            /tmp/mysql-dbug.sock
    
    9 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
    mysql 
    
    8 được sử dụng

Cách kiểm tra giao thức nào được sử dụng

Lệnh

shell> ln -s /dev/null $HOME/.mysql_history
1 hiển thị cho bạn thông tin về giao thức nào được sử dụng

shell> mysql test

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.2-MariaDB-valgrind-max-debug Source distribution

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [test]> status;
--------------
mysql  Ver 15.1 Distrib 10.0.25-MariaDB, for Linux (x86_64) using readline 5.2

Connection id:          10
Current database:       test
Current user:           monty@localhost
...
Connection:             Localhost via UNIX socket
...
UNIX socket:            /tmp/mysql-dbug.sock

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à

shell> ln -s /dev/null $HOME/.mysql_history
2 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 nên. mysql_history như một liên kết tượng trưng đến/dev/null
shell> ln -s /dev/null $HOME/.mysql_history

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 lời nhắc mặc định

shell> ln -s /dev/null $HOME/.mysql_history
3. 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

shell> ln -s /dev/null $HOME/.mysql_history
4 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> SELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\G
*************************** 1. row ***************************
  msg_nro: 3068
    date: 2000-03-01 23:29:50
time_zone: +0200
mail_from: Monty
    reply: [email protected]
  mail_to: "Thimble Smith" 
      sbj: UTF-8
      txt: >>>>> "Thimble" == Thimble Smith writes:
Thimble> Hi.  I think this is a good idea.  Is anyone familiar
Thimble> with UTF-8 or Unicode? Otherwise, I´ll put this on my
Thimble> TODO list and see what happens.
Yes, please do that.
Regards,
Monty
    file: inbox-jani-1
    hash: 190402944
1 row in set (0.09 sec)

Đối với người mới bắt đầu, một tùy chọn khởi động hữu ích là

shell> ln -s /dev/null $HOME/.mysql_history
5 (hoặc
shell> ln -s /dev/null $HOME/.mysql_history
6, 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ố
shell> ln -s /dev/null $HOME/.mysql_history
7 nhưng lại quên điều khoản
shell> ln -s /dev/null $HOME/.mysql_history
8. 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
shell> ln -s /dev/null $HOME/.mysql_history
5, 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

shell> ln -s /dev/null $HOME/.mysql_history
5, mysql sẽ đưa ra câu lệnh sau khi nó kết nối với máy chủ MariaDB

SET sql_safe_updates=1, sql_select_limit=1000, sql_max_join_size=1000000;

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ụ
UPDATE tbl_name SET not_key_column=val WHERE key_column=val;
UPDATE tbl_name SET not_key_column=val LIMIT 1;
  • Máy chủ giới hạn tất cả các kết quả _______50_______1 lớn trong 1.000 hàng trừ khi câu lệnh bao gồm mệnh đề
    mysql> SELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\G
    *************************** 1. row ***************************
      msg_nro: 3068
        date: 2000-03-01 23:29:50
    time_zone: +0200
    mail_from: Monty
        reply: [email protected]
      mail_to: "Thimble Smith" 
          sbj: UTF-8
          txt: >>>>> "Thimble" == Thimble Smith writes:
    Thimble> Hi.  I think this is a good idea.  Is anyone familiar
    Thimble> with UTF-8 or Unicode? Otherwise, I´ll put this on my
    Thimble> TODO list and see what happens.
    Yes, please do that.
    Regards,
    Monty
        file: inbox-jani-1
        hash: 190402944
    1 row in set (0.09 sec)
    
    2
  • Máy chủ hủy bỏ các câu lệnh
    mysql> SELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\G
    *************************** 1. row ***************************
      msg_nro: 3068
        date: 2000-03-01 23:29:50
    time_zone: +0200
    mail_from: Monty
        reply: [email protected]
      mail_to: "Thimble Smith" 
          sbj: UTF-8
          txt: >>>>> "Thimble" == Thimble Smith writes:
    Thimble> Hi.  I think this is a good idea.  Is anyone familiar
    Thimble> with UTF-8 or Unicode? Otherwise, I´ll put this on my
    Thimble> TODO list and see what happens.
    Yes, please do that.
    Regards,
    Monty
        file: inbox-jani-1
        hash: 190402944
    1 row in set (0.09 sec)
    
    1 nhiều bảng có thể cần kiểm tra hơn 1.000.000 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 các tùy chọn

mysql> SELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\G
*************************** 1. row ***************************
  msg_nro: 3068
    date: 2000-03-01 23:29:50
time_zone: +0200
mail_from: Monty
    reply: [email protected]
  mail_to: "Thimble Smith" 
      sbj: UTF-8
      txt: >>>>> "Thimble" == Thimble Smith writes:
Thimble> Hi.  I think this is a good idea.  Is anyone familiar
Thimble> with UTF-8 or Unicode? Otherwise, I´ll put this on my
Thimble> TODO list and see what happens.
Yes, please do that.
Regards,
Monty
    file: inbox-jani-1
    hash: 190402944
1 row in set (0.09 sec)
4 và
mysql> SELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\G
*************************** 1. row ***************************
  msg_nro: 3068
    date: 2000-03-01 23:29:50
time_zone: +0200
mail_from: Monty
    reply: [email protected]
  mail_to: "Thimble Smith" 
      sbj: UTF-8
      txt: >>>>> "Thimble" == Thimble Smith writes:
Thimble> Hi.  I think this is a good idea.  Is anyone familiar
Thimble> with UTF-8 or Unicode? Otherwise, I´ll put this on my
Thimble> TODO list and see what happens.
Yes, please do that.
Regards,
Monty
    file: inbox-jani-1
    hash: 190402944
1 row in set (0.09 sec)
5

mysql --safe-updates --select_limit=500 --max_join_size=10000

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_name
0

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> SELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\G
*************************** 1. row ***************************
  msg_nro: 3068
    date: 2000-03-01 23:29:50
time_zone: +0200
mail_from: Monty
    reply: [email protected]
  mail_to: "Thimble Smith" 
      sbj: UTF-8
      txt: >>>>> "Thimble" == Thimble Smith writes:
Thimble> Hi.  I think this is a good idea.  Is anyone familiar
Thimble> with UTF-8 or Unicode? Otherwise, I´ll put this on my
Thimble> TODO list and see what happens.
Yes, please do that.
Regards,
Monty
    file: inbox-jani-1
    hash: 190402944
1 row in set (0.09 sec)
6

Làm cách nào để sử dụng dấu nhắc lệnh cho MySQL?

Mở công cụ dòng lệnh mysql. .
Trong Dấu nhắc lệnh của Windows, hãy chạy lệnh. mysql -u tên người dùng -p
Nhập mật khẩu của bạn khi được nhắc

Làm cách nào để thay đổi thư mục trong dấu nhắc lệnh của MySQL?

Chỉ có thể thay đổi thư mục dữ liệu MySQL bằng cách sử dụng my. tệp cnf (cấu hình MySQL) . Thay đổi yêu cầu khởi động lại MySQL. Nếu bạn muốn nhập/tải tệp vào DB, thư mục làm việc sẽ là thư mục bạn đã truy cập khi khởi động MySQL.

Máy khách để MySQL kết nối từ dấu nhắc lệnh là gì?

máy khách dòng lệnh mysql thường nằm trong thư mục bin của thư mục cài đặt MySQL. Nếu chương trình mysql đã có trong PATH, bạn chỉ cần gọi nó bằng lệnh mysql. -u root có nghĩa là bạn kết nối với Máy chủ MySQL bằng tài khoản người dùng root.

Lệnh nào được sử dụng để chuyển sang cơ sở dữ liệu nhất định trong MySQL?

SELECT Database được sử dụng trong MySQL để chọn một cơ sở dữ liệu cụ thể để làm việc với. Truy vấn này được sử dụng khi có nhiều cơ sở dữ liệu với Máy chủ MySQL. Bạn có thể sử dụng lệnh SQL SỬ DỤNG để chọn một cơ sở dữ liệu cụ thể.