Как поставил, так и держится
Теперь, когда мы увидели, каким "навороченным" продуктом является MySQL, тем более хочется попробовать его в деле, поставить и пощупать все своими руками. Этим и займемся.
В связи с возрастающим интересом к Linux-платформам, рассмотрим установку и работу с MySQL именно на такой платформе. Чтобы инсталляция MySQL проходила без особых затруднений, будем следовать рекомендациям, выложенным на сайте MySQL.
- Первое, что нам рекомендуют,- скачать стабильную (stable release) версию (на момент написания статьи - MySQL 3.23.49a).
- Второй совет: не пытаться скомпилировать MySQL самостоятельно - устанавливать уже скомпилированную версию.
Приняв на вооружение эти рекомендации, запускаем на закачку файл "mysql-3.23.49a-pc-linux-gnu-i686.tar.gz" и спустя некоторое время получаем его. Перед началом установки создадим у себя группу и пользователя mysql: Shell>groupadd mysql Shell> useradd -g mysql mysql
Далее распаковываем этот файл в каталог /usr/local:
Shell> tar -zxf gunzip mysql-3.23.49a-pc-linux-gnu-i686.tar.gz
Затем нужно сделать символическую ссылку mysql с каталога mysql-3.23.49a-pc-linux-gnu-i686: Shell> ln -s mysql-3.23.49a-pc-linux-gnu-i686 mysql
Причина этих действий заключается в том, что в скриптах прописаны именно эти каталоги.
Теперь создадим каталог, в котором будут хранится базы. Для этого нужно всего лишь зайти в каталог mysql и запустить скрипт mysql_install_db, который находится в каталоге scripts: Shell>cd /usr/local/mysql Shell>scripts/mysql_install_db
И последний штрих: с помощью команды safe_mysqld, которая находится в каталоге bin, запускаем сервер. Если очень хочется, чтобы запуск происходил при каждой загрузке системы, надо поместить запуск safe_mysql в один из файлов инициализации системы.
В качестве примера: дописываем в /etc/rc.d/rc.local строчку /usr/local/mysql/bin/safe_mysqld &. Но, если просто записать эту строку в rc.local, mysql не захочет запускаться при загрузке системы. И вот, пошаманив немного над файлом safe_mysqld, я обнаружил, что в некоторых местах нужно заменить libexec на bin и var на data. Вот строки (начиная с 87), которые подверглись изменениям:
MY_BASEDIR_VERSION=$MY_PWD # Where libexec, share and var are
ledir=$MY_BASEDIR_VERSION/bin # Where mysqld is
DATADIR=$MY_BASEDIR_VERSION/data
else
MY_BASEDIR_VERSION=/usr/local/mysql
DATADIR=/usr/local/mysql/data
ledir=/usr/local/mysql/bin
После того как мы все поставили, нужно изменить владельца и группу созданных каталогов.
Каталогу mysql и всем подкаталогам нужно назначить владельца root и группу mysql. Shell>chown -R root:mysql /usr/local/mysql
Каталогу баз данных назначаем владельца mysql и одноименную группу. Shell>chown -R mysql:mysql /usr/local/mysql/data
И последний штрих в настройке - пропишем путь к исполняемым программам mysql в profile: PATH=$PATH:/usr/local/mysql/bin
На сайте mysql можно скачать графические оболочки для работы с базами (mysqlgui и mycc). Только вот, установив эти оболочки, я пришел к выводу, что они не заменяют знание SQL и удобны только для отображения таблиц, находящихся в базе (кстати, для отображения мне больше понравился mycc - у него понятнее интерфейс, и с ним легче работать).
Для связи с базой данных предназначена программа mysql. Это командный интерпретатор, который передает введенные команды СУБД.