Страница 137 из 324
Рис. 8.3
Вам следует применить редактор настройки сервисов для того, чтобы определить, хотите ли вы, чтобы сервер MySQL автоматически стартовал при каждом запуске ОС Linux.
Настройка после установки
Предположим, что все идет как надо, СУБД MySQL установлена и стартовала с общим стандартным набором параметров. Это предположение можно проверить:
$ <b>mysql -u root mysql</b>
Если вы получите сообщение "Welcome to the MySQL monitor" ("Добро пожаловать в монитор MySQL") и затем приглашение mysql>, значит, сервер выполняется. Конечно, любой пользователь вмиг может подключиться к серверу и получить права администратора, но мы рассмотрим это лишь вкратце. Попробуйте ввести s для получения некоторой дополнительной информации о вашем сервере. Когда насмотритесь, введите quit или q для выхода из монитора.
Дополнительную информацию можно получить с помощью команды mysql -?, которая выводит еще больше подробностей, касающихся сервера. В выводе есть одна деталь, которую следует проверить. После списка аргументов обычно выводится строка Default options are read from the following files in the given order: (Текущие параметры считаны из следующих файлов в заданном порядке:). Она указывает, где найти файл конфигурации, который следует использовать для настройки вашего сервера MySQL. Стандартный файл конфигурации -— /etc/my.cnf, хотя в некоторых дистрибутивах, например Ubuntu, применяется файл /etc/mysql/my.cnf.
Состояние работающего сервера можно также проверить с помощью команды mysqladmin:
$ <b>mysqladmin -u root version</b>
Вывод не только подтвердит запуск, но и предоставит номер версии используемого вами сервера.
Еще один полезный аспект применения команды mysqladmin — проверка конфигурационных параметров запущенного сервера с помощью опции variables:
$ <b>mysqladmin variables</b>
Эта команда выводит длинный список значений переменных. Пара особенно полезных — переменная datadir, сообщающая о том, где MySQL хранит данные, и переменная have_i
После того как вы убедитесь в том, что в двоичный файл сервера включена поддержка I
[mysqld]
default-storage-engine=INNODB
datadir=/var/lib/mysql
...
В оставшейся части данной главы мы полагаем, что по умолчанию в качества механизма хранения выбран I
В процессе эксплуатации вам, как правило, придется также изменять установленное по умолчанию место хранения данных, задаваемое переменной datadir. Делается это тоже с помощью редактирования раздела mysql конфигурационного файла /etc/my.cnf. Например, если вы применяете механизм хранения I
i
i
i
Более подробную информацию и другие конфигурационные параметры можно найти в интерактивных руководствах на Web-сайте www.mysql.com.
Если сервер не запускается или вы не можете подключиться к базе данных после запуска сервера, см. следующий раздел, посвященный неполадкам после вашей установки сервера.
Помните об имеющейся бреши в системе безопасности, упоминавшейся несколько разделов назад и позволяющей любому подключиться без пароля как пользователь root? Сейчас самое время усовершенствовать защиту. Не дайте сбить себя с толку имени пользователя root, применяемому во время установки MySQL. Между пользователем root СУРБД MySQL и пользователем root операционной системы нет никакой связи; MySQL просто регистрирует пользователя с именем "root" как администратора, что делает и ОС Linux. Пользователи базы данных MySQL и идентификаторы пользователей ОС Linux никак не связаны; у MySQL есть собственная встроенная система управления пользователями и правами доступа. По умолчанию пользователь с учетной записью в. вашей установленной системе Linux может зарегистрироваться на вашем сервере MySQL как администратор этой СУРБД. После того как вы ограничите права пользователя root СУРБД MySQL, например, разрешив только локальному пользователю регистрироваться с именем root и установив пароль для такого доступа, вы можете добавить только тех пользователей и только те права доступа, которые абсолютно необходимы для функционирования вашего приложения.
Установить пароль можно любым возможным способом, но самый простой с помощью команды:
$ <b>mysqladmin -u root password newpassword</b>
Она задает начальный пароль newpassword.
Этот метод порождает проблему, заключающуюся в том, что понятный текстовый пароль остается в протоколе или хронологии (history) вашей командной оболочки и может просматриваться кем угодно с помощью команды ps во время выполнения вашей команды или может быть извлечен из протокола команды. Лучше еще раз применить монитор MySQL на этот раз для отправки нескольких команд на языке SQL, которые изменят ваш пароль.