Конфигурирование сервера MySQL может производиться двумя путями — путем задания опций в командной строке при запуске сервера и через конфигурационный файл my.ini. Также следует различать опциональные параметры, которые могут задаваться для текущего сеанса работы сервера и теряться при перезагрузке, и переменные окружения, которые действуют глобально для всего сервера и всех баз данных — изменить их можно, только прямо указывая новые значения.
Список всех доступных команд и опций можно получить, введя в консоли "mysqld --help". Следует сказать, что практически все команды универсальны и поддерживаются на всех платформах, где работает сервер MySQL, но существует несколько специфических команд для платформы Windows NT. Для всех команд существует полный синтаксис, когда команда начинается двумя символами тире (минус) "--", за которыми сразу, без пробелов, следует название команды (или опции, далее эти слова будут синонимами). Если требуется задать какое-либо значение, после названия команды следует знак "=" и задаваемое значение. Сокращенная форма предусматривает один знак тире, название команды сокращается до одой буквы, а параметры задаются через пробел. Только опция "--socket" не имеет короткой формы (она должна бы быть "-s"). Помните, что написание команд чувствительно к регистру символов, и команды "-l" и "-L" совершенно разные. В конфигурационном файле можно задавать комментарии — они отделяются знаком "#", и вся строка до конца игнорируется.
Сначала познакомимся с самыми важными командами.
Команда --help самая важная, она выводит список вех доступных команд--help или -? (в серверах версии 4.1 и выше нет краткой команды "-h"; кроме того, для запуска команды надо предварительно задать команду "--verbose") — выводит справку по доступным командам и опциям, сам сервер при этом не запускается.
--version или -V — пригодится, если надо узнать точную версию сервера MySQL и платформу, на которой он запущен.
--user=[username] или -u — задает имя пользователя, с правами которого запускается сервер. Обычно не рекомендуется запускать сервер от имени пользователя root. Пример: "--user=vasya".
-p[password] — используется вместе с командой "-u" и задает пароль учетной записи пользователя. Если пароля нет (инсталляция по умолчанию не предусматривает пароля для пользователя root), команду можно опустить. Обратите внимание — синтаксис команды отличается — пароль задается в строке сразу после команды, безо всяких разделителей. Пример: "--user=vasya -pverygoodpassword", где «verygoodpassword» — это пароль пользователя «vasya».
-P или --port=[port] — определяет номер порта, через который устанавливается соединение с сервером mysqld. По умолчанию сервер слушает TCP порт 3306, но можно задать любой другой. Обратите внимание — сокращенный вариант команды пишется с большой буквы Р, так как маленькая буква р используется для задания пароля пользователя.
--bind-address=[ip-address] — применяется для принудительного задания IP-адреса сервера, по умолчанию берется текущий адрес компьютера.
--skip-networking — команда полностью запрещает использование сетевых соединений для подключения к серверу, работать можно только локально, с хоста localhost.
Следующая группа команд предназначена для работы с базами данных.
Вывод сообщений на русском — используйте --language=russian--datadir=[path] или -h — позволяет явно указать каталог, где хранятся базы данных. Может потребоваться, если вы хотите хранить базы на другом разделе или логическом диске, или же у вас есть несколько серверов, которые используют разные каталоги для хранения баз данных. Допустимо задавать как полный путь, так и относительный. Пример: "mysqld --datadir=\home\vasya\bases".
--basedir=[path] или -b — путь к директории с установленным сервером.
--tmpdir=[path] или -t — путь к каталогу для временных файлов.
--character-sets-dir=[path]. Эта опция задает путь к каталогу, который содержит конфигурационные файлы для различных кодировок. Эти данные важны для правильной сортировки и поиска в строковых полях таблиц.
--language=[lang] или -L — позволяет переопределить язык вывода сообщений и ошибок. По умолчанию используется английский язык, но поддерживаются и другие — в частности, русский. Для задания языка вывода надо указать его название латинскими буквами (russian — для русского, english — для английского). Для работы команды должна существовать директория \share\[langv], но если путь к ней отличается от стандартного, тогда вместо задания языка вам надо описать полный путь к директории — например, "--language=\user\vasya\mysql\langv\russian".
--default-character-set=[charset] — задает кодировку символов по умолчанию. Среди возможных значений параметра charset имеются: koi8_ru, german1, cp1251, win1251, koi8_ukr, win1251ukr, win1250 и другие — всего больше 20 различных кодировок. Кодировка важна, если в таблицах будут храниться тексты на различных языках, и важно учитывать национальные особенности при поиске и сортировке данных.
Это были самые важные опции и команды, которые могут понадобится при настройке сервера. Всех же команд очень много, и для их полного изучения используйте встроенную справку (вызов через команду --help).
Некоторые команды специфичны и доступны только для Windows NTДля платформы Windows NT предусмотрено несколько специфических команд.
--console — команда появилась в версии 3.22.4 и предназначена для вывода всех сообщений об ошибках в окно консоли, что полезно при отладке или изучении влияния разных параметров на работу сервера.
--install — работает только на платформе Win2000/XP и регистрирует сервер MySQL как системный сервис, который запускается при каждой загрузке системы и постоянно существует в оперативной памяти (если надо зарегистрировать сервис, но запускать его пользователь будет сам, команда будет выглядеть как "--insatll-manual"). Команда "--remove" удаляет сервер из писка системных сервисов.
--standalone — запуск сервера под Win2000/XP в виде отдельной программы, а не системного сервиса.
Удобнее всего использовать для указанных действий графическую утилиту WinMySQLAdmin, которая входит в дистрибутив.
WinMySQLAdmin также может оказать некоторую помощь в изучении конфигурации сервера и в работе с файлом конфигурации win.ini (или win.cnf). Она позволяет просматривать текущий статус сервера, вносить изменения в конфигурационный файл, просматривать опции и переменные среды (правда, только просматривать, изменять их надо вручную через командную строку или файл).
С ее помощью можно также создать отчет обо всех переменных и параметрах, с которыми запущен сервер, что может понадобиться при детальном изучении работы сервера и оптимизации производительности. Другие графические утилиты, вроде MySQL Administrator, позволяют не только просматривать эти данные, но и с помощью удобного интерфейса изменять их. Но в случае удаленно сервера или при ограниченных ресурсах оптимальнее всего использовать управление через командную строку. Кроме того, графический интерфейс не избавляет от необходимости знания и понимания назначения изменяемых опций.
Ссылки по теме
- Официальный сайт MySQL AB
- Утилиты-администраторы сервера MySQL
- Reference Manual for the MySQL Database System
Статья получена: hostinfo.ru