Spec-Zone .ru
спецификации, руководства, описания, API
|
Большинство программ MySQL может считать опции запуска из файлов опции (также иногда названный конфигурационными файлами). Файлы опции обеспечивают удобный способ определить обычно используемые опции так, чтобы они не были введены в командную строку каждый раз, когда Вы выполняете программу. Для сервера MySQL MySQL обеспечивает много предварительно сконфигурированных файлов опции.
Чтобы определить, читает ли программа файлы опции, вызовите ее с --help
опция. (Для
mysqld использовать --verbose
и --help
.), Если файлы опции чтений программы, сообщение справки указывает,
какие файлы оно ищет и какие группы опции оно распознает.
.mylogin.cnf
файл, который содержит опции пути входа в систему, создается mysql_config_editor
утилитой. См. Раздел 4.6.6, "mysql_config_editor — MySQL Configuration Utility".
"Путь входа в систему" является группой опции,
которая разрешает только ограниченный набор опций: host
, user
, и password
. Клиентские программы определяют
который путь входа в систему читать из .mylogin.cnf
использование --login-path
опция.
Чтобы определить альтернативное имя файла, установите MYSQL_TEST_LOGIN_FILE
переменная окружения. Эта переменная используется mysql-test-run.pl тестирование утилиты, но также и распознается
mysql_config_editor
и клиентами MySQL, такими как mysql, mysqladmin, и т.д.
Файлы опции, используемые с программами MySQL Cluster, покрываются Разделом 17.3, "Конфигурация MySQL Cluster NDB 7.3".
На Windows, опциях запуска чтения программ MySQL от следующих файлов, в указанном порядке (главные элементы используются сначала).
Имя файла | Цель |
---|---|
,
|
Глобальные опции |
,
|
Глобальные опции |
C:\my.ini , C:\my.cnf |
Глобальные опции |
,
|
Глобальные опции |
defaults-extra-file |
Файл, определенный с --defaults-extra-file= ,
если любой
|
|
Опции пути входа в систему |
%PROGRAMDATA%
представляет каталог файловой системы, который содержит данные
приложения для всех пользователей на узле. Этот путь значения по умолчанию к C:\ProgramData
на Microsoft Windows Vista и больше, и C:\Documents and Settings\All Users\Application
Data
на более старых версиях Microsoft Windows.
%WINDIR%
представляет расположение Вашего каталога Windows. Это обычно C:\WINDOWS
. Можно определить его точное расположение от значения WINDIR
переменная окружения используя следующую команду:
C:\> echo %WINDIR%
INSTALLDIR
представляет каталог установки MySQL. Это обычно C:\
где
PROGRAMDIR
\MySQL\MySQL 5.6 ServerPROGRAMDIR
представляет каталог программ (обычно Program Files
на англоязычных версиях Windows), когда MySQL 5.6 был установлен,
используя мастера конфигурации и установка. См. Раздел
2.3.3, "Устанавливая MySQL на Microsoft Windows Используя MySQL Installer".
%APPDATA%
представляет значение каталога данных Приложения Windows. Можно определить
его точное расположение от значения APPDATA
переменная окружения используя
следующую команду:
C:\> echo %APPDATA%
На Unix, Linux и Mac OS X, опциях запуска чтения программ MySQL от следующих файлов, в указанном порядке (главные элементы используются сначала).
Имя файла | Цель |
---|---|
/etc/my.cnf |
Глобальные опции |
/etc/mysql/my.cnf |
Глобальные опции |
|
Глобальные опции |
$MYSQL_HOME/my.cnf |
Специфичные для сервера опции |
defaults-extra-file |
Файл, определенный с --defaults-extra-file= ,
если любой
|
~/.my.cnf |
Специфичные для пользователя опции |
~/.mylogin.cnf |
Опции пути входа в систему |
~
представляет корневой каталог текущего пользователя (значение $HOME
).
SYSCONFDIR
представляет каталог, определенный с SYSCONFDIR
опция к CMake, когда
MySQL был создан. По умолчанию это etc
каталог, расположенный под скомпилированным
- в каталоге установки.
MYSQL_HOME
переменная окружения, содержащая путь к каталогу в который специфичное
для сервера my.cnf
файл находится. Если MYSQL_HOME
не
устанавливается и Вы запускаете сервер, используя mysqld_safe программу, mysqld_safe пытается установить MYSQL_HOME
следующим образом:
Позволить BASEDIR
и DATADIR
представьте пути каталога основы MySQL и каталога
данных, соответственно.
Если есть a my.cnf
файл в DATADIR
но не в BASEDIR
, наборы mysqld_safe MYSQL_HOME
к
DATADIR
.
Иначе, если MYSQL_HOME
не устанавливается и есть нет
my.cnf
файл в DATADIR
, наборы mysqld_safe
MYSQL_HOME
к BASEDIR
.
В MySQL 5.6, использовании DATADIR
как расположение для my.cnf
осуждается.
Как правило, DATADIR
/usr/local/mysql/data
для двоичной установки или /usr/local/var
для исходной установки. Отметьте, что это - расположение каталога данных, которое было определено во время
конфигурации, не тот, определенный с --datadir
опция, когда mysqld запускается. Использование --datadir
во времени выполнения не имеет никакого эффекта на то, где сервер
ищет файлы опции, потому что это ищет их прежде, чем обработать любые опции.
MySQL ищет файлы опции в порядке, только описанном, и читает любого, которые существуют. Если файл опции, который Вы хотите использовать, не существует, создает это с редактором простого текста.
Если многократные экземпляры данной опции находятся, последний экземпляр имеет приоритет. Есть одно исключение:
Для mysqld, первой
инстанции --user
опция используется в качестве предосторожности безопасности, чтобы
предотвратить пользователя, определенного в файле опции от того, чтобы быть переопределенным на командной
строке.
На платформах Unix MySQL игнорирует конфигурационные файлы, которые являются мировыми перезаписываемыми. Это является намеренным как меры безопасности.
Любая длинная опция, которая может быть дана на командной строке, выполняя программу MySQL, может быть дана в
файле опции также. Чтобы получить список доступных параметров для программы, выполните это с --help
опция.
Синтаксис для того, чтобы определить опции в файле опции подобен синтаксису командной строки (см. Раздел
4.2.3.1, "Используя Опции на Командной строке"). Однако, в файле опции, Вы опускаете продвижение
двух тире с имени опции, и Вы определяете только одну опцию на строку. Например, --quick
и --host=localhost
на командной строке должен
быть определен как quick
и host=localhost
на отдельных
строках в файле опции. Определить опцию формы --loose-
в файле опции запишите это как opt_name
loose-
. opt_name
Игнорируются пустые строки в файлах опции. Непустые строки могут принять любую из следующих форм:
#
,
comment
;
comment
Строки комментария запускаются с"#
"или";
"."#
"комментарий
может запуститься в середине строки также.
[
group
]
group
имя программы или группы, для которой Вы хотите
установить опции. После групповой строки любые устанавливающие опцию строки применяются к
именованной группе до конца файла опции, или другая групповая строка дается. Названия группы опции
не являются чувствительными к регистру.
opt_name
Это эквивалентно --
на
командной строке. opt_name
opt_name
=value
Это эквивалентно --
на командной строке. В файле опции у Вас
могут быть пробелы вокруг"opt_name
=value
=
"символ, что-то, что не является истиной на
командной строке. Можно дополнительно включить значение в пределах единственных кавычек или удвоить
кавычки, который полезен, если значение содержит"#
"символ комментария.
Продвижение и конечные пробелы автоматически удаляется из имен опции и значений.
Можно использовать escape-последовательности"\b
",
"\t
", "\n
", "\r
", "\\
", и"\s
"в значениях
опции, чтобы представить клавишу Backspace, вкладку, новую строку, возврат каретки, наклонную черту влево, и
пробелы. Правила выхода в файлах опции:
Если наклонная черта влево сопровождается допустимым символом
escape-последовательности, последовательность преобразовывается в символ, представленный
последовательностью. Например,"\s
"преобразовывается в пространство.
Если наклонная черта влево не сопровождается допустимым символом
escape-последовательности, это остается неизменным. Например,"\S
"сохраняется, как.
Предыдущие правила означают, что литеральная наклонная черта влево может быть дана как"\\
", или как"\
"если это не сопровождается допустимым
символом escape-последовательности.
Правила для escape-последовательностей в файлах опции отличаются немного от правил для
escape-последовательностей в строковых литералах в SQL-операторах. В последнем контексте, если"x
"не
допустимый символ escape-последовательности,"\
"становится"x
x
"вместо"\
". См. Раздел
9.1.1, "Строковые литералы". x
Правила выхода для значений файла опции являются особенно подходящими для путей Windows, которые используют"\
"как разделитель
пути. Разделитель в пути Windows должен быть записан как"\\
"если это сопровождается символом escape-последовательности.
Это может быть записано как"\\
"или"\
"если это не.
Альтернативно,"/
"может
использоваться в путях Windows и будет обработан как"\
". Предположите, что Вы хотите определить основной каталог
C:\Program Files\MySQL\MySQL Server 5.6
в файле опции. Это может быть сделано
несколько путей. Некоторые примеры:
basedir="C:\Program Files\MySQL\MySQL Server 5.6"basedir="C:\\Program Files\\MySQL\\MySQL Server 5.6"basedir="C:/Program Files/MySQL/MySQL Server 5.6"basedir=C:\\Program\sFiles\\MySQL\\MySQL\sServer\s5.6
Если название группы опции является тем же самым как названием программы, опции в группе применяются определенно
к той программе. Например, [mysqld]
и [mysql]
группы
применяются к mysqld серверу и mysql клиентской программе, соответственно.
[client]
группа опции читается всеми клиентскими программами (но не mysqld). Это позволяет Вам определить опции, которые применяются
ко всем клиентам. Например, [client]
совершенная группа, чтобы использовать, чтобы
определить пароль, который Вы используете, чтобы соединиться с сервером. (Но удостоверьтесь, что файл опции
читаем и перезаписываем только, так, чтобы другие люди не могли узнать Ваш пароль.) Убедиться, что не вставил
опцию [client]
группа, если это не распознается всеми клиентскими программами, которые Вы используете. Программы,
которые не понимают выход опции после отображения сообщения об ошибке, если Вы пытаетесь выполнить их.
Вот типичный глобальный файл опции:
[client]port=3306socket=/tmp/mysql.sock[mysqld]port=3306socket=/tmp/mysql.sockkey_buffer_size=16Mmax_allowed_packet=8M[mysqldump]quick
Предыдущее использование файла опции
синтаксис для строк, которые устанавливают var_name
=value
key_buffer_size
и max_allowed_packet
переменные.
Вот типичный пользовательский файл опции:
[client]# The following password will be sent to all standard MySQL clientspassword="my_password"[mysql]no-auto-rehashconnect_timeout=2[mysqlhotcopy]interactive-timeout
Если Вы хотите создать группы опции, которые должны быть считаны mysqld серверами из определенного ряда выпуска MySQL только,
можно сделать это при использовании групп с именами [mysqld-5.5]
, [mysqld-5.6]
, и т.д. Следующая группа указывает что --new
опция должна использоваться только серверами MySQL с 5.6.x номера версий:
[mysqld-5.6]new
Возможно использовать !include
директивы в файлах опции, чтобы включать другие
файлы опции и !includedir
искать определенные каталоги файлы опции. Например, чтобы
включать /home/mydir/myopt.cnf
файл, используйте следующее направляющее:
!include /home/mydir/myopt.cnf
Искать /home/mydir
каталог и читал файлы опции, найденные там, использует это
направляющее:
!includedir /home/mydir
Нет никакой гарантии о порядке, в котором будут считаны файлы опции в каталоге.
В настоящий момент любые файлы, которые будут найдены и, включали использование !includedir
направляющий на операционных системах Unix должен иметь имена файлов, заканчивающиеся в .cnf
.
На Windows, это направляющие проверки на файлы с .ini
или .cnf
расширение.
Запишите содержание включенного файла опции как любой другой файл опции. Таким образом, это должно содержать
группы опций, каждый, которому предшествует a [
строка, которая указывает на программу, к которой применяются опции. group
]
В то время как включенный файл обрабатывается, только те опции в группах, которые ищет текущая программа,
используются. Другие группы игнорируются. Предположите это a my.cnf
файл содержит
эту строку:
!include /home/mydir/myopt.cnf
И предположите это /home/mydir/myopt.cnf
похож на это:
[mysqladmin]force[mysqld]key_buffer_size=16M
Если my.cnf
обрабатывается mysqld, только [mysqld]
группа в
/home/mydir/myopt.cnf
используется. Если файл обрабатывается mysqladmin, только [mysqladmin]
группа используется. Если файл обрабатывается какой-либо другой программой, никакими опциями в /home/mydir/myopt.cnf
используются.
!includedir
направляющий обрабатывается так же за исключением того, что все файлы
опции в именованном каталоге читаются.