Spec-Zone.ru › MySQL 5.7

4.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. Например, следующая команда сообщает mysqladmin выполнить ping сервера 1024 раза, отдыхая 10 секунд между каждым ping:

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

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

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

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

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

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

Spec-Zone.ru

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