Навигация

Поиск по Сайту

Партнеры

Самоучитель. Книги.

Статистика

    Каталог@Mail.ru - каталог ресурсов интернет

Файл опций my.cnf

Главная Страница » Книги по PHP » MySQL уроки для начинающих с нуля » Файл опций my.cnf в MySQL

Начиная с версии 3.22, MySQL может читать заданные по умолчанию параметры запуска для клиентов и сервера из файлов опций.

MySQL (в Unix) читает заданные по умолчанию параметры из следующих файлов (табл. 4.11):

Таблица 4.11. Файлы параметров клиента и сервера

Имя файла Зачем он нужен
/etc/my.cnf Глобальные опции для всех
DATADIR/my.cnf Опции для сервера
defaults-extra-file Файл, определенный через —defaults-extra-file=#
~/.my.cnf Специфические для пользователей опции

DATADIR представляет собой каталог данных MySQL (обычно это /usr/local/mysql/data или /usr/local/var). Обратите внимание, что это тот каталог, который был определен в конфигурации, а не указан в опции —datadir при запуске mysqld! Параметр —datadir не имеет никакого эффекта в то время, когда сервер ищет файлы опций, потому что он их ищет прежде, чем обрабатывает любые параметры из командной строки.

MySQL (только в ОС Windows) читает заданные по умолчанию параметры из следующих файлов (табл. 4.12):

Таблица 4.12. Файлы настройки в ОС Windows.

Имя файла Зачем он нужен
windows-system-directory\my.ini Глобальные опции для всех
С: \my.cnf Глобальные опции для всех
С: \mysql\data\my.cnf Опции для сервера

Обратите внимание, что в Windows вы должны определить все пути с / вместо \. Если вы используете \, вы должны определить это дважды, поскольку \ представляет собой символ ESC в MySQL.

MySQL пробует читать файлы опций в порядке, перечисленном выше. Если есть несколько файлов настроек, используется опция, определенная в том файле, который читается позже. Параметры, определенные в командной строке, имеют приоритет над параметрами, определенными в любом файле опций. Некоторые параметры могут быть определены с использованием системных переменных. Параметры, определенные в командной строке или в файлах опций, имеют приоритет над значением соответствующей системной переменной.

Следующие программы поддерживают файлы опций: mysql, mysqladmin, mysqld, mysqldump, mysqlimport, mysql.server, myisamchk и myisampack.

Вы можете использовать файлы опций, чтобы определить любую длинную опцию, которую программа поддерживает. Выполните программу с параметром —help, чтобы получить список доступных параметров.

Файл опций может содержать строки следующих форм:

#comment

Строки комментария начинаются с “#” или с ";". Пустые строки игнорируются.

[group]

Здесь group представляет собой имя программы или группы, для которой вы хотите устанавливать параметры. После строки группы любая строка option или set-variable обращается к именованной группе, пока не будет достигнут конец файла опций или же другая строка группы.

option

Эквивалентно —option в командной строке.

option=value

Эквивалентно —option=value в командной строке.

set-variable = variable=value

Эквивалентно -set-variable variable=value в командной строке. Этот синтаксис должен использоваться, чтобы установить переменную в mysqld.

Группа client позволяет определять параметры, которые обращаются ко всей клиентуре MySQL (но не к серверу mysqld). Это самая подходящая группа, чтобы определить в ней пароль, который вы используете, чтобы соединиться с сервером. Но удостоверьтесь, что файл опций читаете и перезаписываете только вы.

Обратите внимание, что для параметров и значений все конечные и начальные пробелы автоматически удалены. Вы можете использовать управляющие последовательности \b, \t, \n, \r, \\ и \s в строке (\s задает пробел).

Имеется типичный глобальный файл опций:

[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
socket=/tmp/mysql.sock
set-variable = key_buffer_size=16M
set-variable = max_allowed_packet=1M
[mysqldump]
quick

Имеется типичный файл опций пользователя:

[client]
# The following password will be sent to all standard MySQL clients
password=my_password
[mysql]
no-auto-rehash
set-variable=connect_timeout=2
[mysqlhotcopy]
interactive-timeout

Если вы имеете дистрибутив с исходными текстами, типовые файлы конфигурации называются my-xxxx.cnf и расположены в каталоге support-files. А вот в двоичном дистрибутиве смотрите в каталоге DIR/support-files, где DIR задает имя пути к каталогу установки MySQL (обычно это /usr/local/mysql). В настоящее время имеются типовые файлы конфигурации для маленькой, средней, большой и очень большой системы. Вы можете копировать my-xxxx.cnf в основной каталог (переименуйте копию в .my.cnf), чтобы экспериментировать.

Вся клиентура MySQL, которая поддерживает файлы опций, использует и следующие параметры:

-no-defaults

Не читать любые файлы опций.

-print-defaults

Печатать имя программы и все параметры, которые ей передаются.

-defaults-file=full-path-to-default-file.

Использовать только данный файл конфигурации и никакой другой.

-defaults-extra-file=full-path-to-default-file

Читать этот файл конфигурации после глобального файла опций, но перед чтением файла настроек пользователя.

Обратите внимание, что вышеупомянутые параметры должны быть первыми в командной строке, чтобы они работали! Однако —print-defaults может использоваться непосредственно после команды —defaults-xxx-file.

В скриптах оболочки вы можете использовать команду my_print_defaults, чтобы анализировать файлы конфигурации:

shell> my_print_defaults client mysql -port=3306
       —socket=/tmp/mysql.sock -no-auto-rehash

Вышеупомянутый вывод содержит все параметры для групп client и mysql.