Spec-Zone.ru › MySQL 9.2

6.2.2.1 Использование опций в командной строке

Параметры программы, указанные в командной строке, подчиняются следующим правилам:

  • Опции указываются после имени команды.

  • Аргумент опции начинается с одного или двух дефисов в зависимости от того, является ли это короткой или длинной формой имени опции. Многие опции имеют как короткую, так и длинную форму. Например, -? и --help — это короткая и длинная формы опции, которая указывает программе MySQL отобразить сообщение справки.

  • Имена опций регистрозависимы. -v и -V являются допустимыми и имеют разное значение. (Это соответствующие короткие формы опций --verbose и --version.)

  • Некоторые опции принимают значение, следующее за именем опции. Например, -h localhost или --host=localhost указывают хост MySQL-сервера для клиентской программы. Значение опции сообщает программе имя хоста, на котором работает MySQL-сервер.

  • Для длинной опции, принимающей значение, разделяйте имя опции и значение знаком =. Для короткой опции, принимающей значение, значение опции может сразу следовать за буквой опции, или может быть пробел: -hlocalhost и -h localhost эквивалентны. Исключением из этого правила является опция для указания вашего пароля MySQL. Эту опцию можно указать в длинной форме как --password=pass_val или как --password. В последнем случае (если значение пароля не указано), программа запрашивает пароль у вас интерактивно. Опцию пароля также можно указать в короткой форме как -ppass_val или как -p. Однако для короткой формы, если значение пароля указано, оно должно следовать за буквой опции без пробела: если после буквы опции следует пробел, программа не может определить, является ли следующий аргумент значением пароля или другим аргументом. Вследствие этого следующие две команды имеют совершенно разное значение:

    mysql -ptest
    mysql -p test
    

    Первая команда указывает mysql использовать значение пароля test, но не указывает базу данных по умолчанию. Вторая команда указывает mysql запросить значение пароля и использовать test в качестве базы данных по умолчанию.

  • В именах опций дефис (-) и подчеркивание (_) могут использоваться взаимозаменяемо в большинстве случаев, хотя начальные дефисы не могут быть заданы как подчеркивания. Например, --skip-grant-tables и --skip_grant_tables эквивалентны.

    В этом руководстве мы используем дефисы в именах опций, за исключением случаев, когда подчеркивания имеют значение. Это относится, например, к --log-bin и --log_bin, которые являются разными опциями. Мы рекомендуем вам делать то же самое.

  • У MySQL-сервера есть определённые опции команд, которые могут быть указаны только при запуске, и набор системных переменных, некоторые из которых могут быть установлены при запуске, во время выполнения или и в том, и в другом случае. Имена системных переменных используют подчеркивания вместо дефисов, и при ссылке на время выполнения (например, с помощью SET или SELECT операторов) должны быть написаны с использованием подчеркиваний:

    SET GLOBAL general_log = ON;
    SELECT @@GLOBAL.general_log;
    

    При запуске сервера синтаксис для системных переменных такой же, как для опций команд, поэтому в именах переменных дефисы и подчеркивания могут использоваться взаимозаменяемо. Например, --general_log=ON и --general-log=ON эквивалентны. (Это также относится к системным переменным, установленным в файлах опций.)

  • Для опций, которые принимают числовое значение, значение может быть указано с суффиксом K, M или G для указания множителя 1024, 10242 или 10243. С версии MySQL 8.0.14 суффикс также может быть T, P и E для указания множителя 10244, 10245 или 10246. Буквы суффиксов могут быть прописными или строчными.

    Например, следующая команда сообщает mysqladmin выполнить пинг сервера 1024 раз, ожидая 10 секунд между каждым пингом:

    mysqladmin --count=1K --sleep=10 ping
    
  • При указании имён файлов в качестве значений опций избегайте использования метасимвола оболочки ~. Он может интерпретироваться не так, как ожидается.

Значения опций, содержащие пробелы, должны быть заключены в кавычки при указании в командной строке. Например, опция --execute (или -e) может быть использована с mysql для передачи одной или нескольких SQL-команд, разделённых точкой с запятой, на сервер. При использовании этой опции mysql выполняет команды в значении опции и завершает работу. Команды должны быть заключены в кавычки. Например:

$> mysql -u root -p -e "SELECT VERSION();SELECT NOW()"
Enter password: ******
+------------+
| VERSION()  |
+------------+
| 8.0.19     |
+------------+
+---------------------+
| NOW()               |
+---------------------+
| 2019-09-03 10:36:48 |
+---------------------+
$>
Примечание

Длинная форма (--execute) следует за знаком равенства (=).

Для использования значений в кавычках в операторе необходимо либо экранировать внутренние кавычки, либо использовать другой тип кавычек внутри оператора, чем те, которые используются для цитирования самого оператора. Возможности вашего процессора команд определяют ваш выбор, использовать одинарные или двойные кавычки и синтаксис экранирования символов кавычек. Например, если ваш процессор команд поддерживает цитирование с одинарными или двойными кавычками, вы можете использовать двойные кавычки вокруг оператора и одинарные кавычки для любых значений в кавычках внутри оператора.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/command-line-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API