От автора: установка MySQL, доступ к полномочиям и обеспечение стабильности СУБД — одни из базовых задач для веб-разработчика. Чтобы справляться с ними на высоком уровне, необходимы знания и понимание процессов, которые выполняет компьютер. Но изучать это долго, а проекты нужно закрывать уже сегодня. Мы сложили для вас мануал на этот случай, чтобы не тратить драгоценные трудочасы. Рассмотрим сначала информацию о том, как MySQL «дружит» с CentOS, а после поговорим о обеспечении прав доступа для пользователя СУБД.
Перейти на CentOS?
Когда начинается спор о том, какая из систем лучше: Ubuntu или CentOS, почти наверняка речь идет об обслуживании виртуального сервера. VPS, как сокращенно называют последнего, это одна из интернет-услуг, в которой пользователю выделяется место на диске, где имитируется настоящий физический сервер. Преимуществом такой услуги является то, что виртуальный сервер в администрировании мало чем отличается от настоящего, физического. Таким образом, разработчик может открыть для себя широкие возможности, не тратя много средств. Естественно, что даже для такого сервера нужна операционная система, и выбор падает на Linux-дистрибутивы.
CentOS — это одна из осей семейства Linux, которая стала одной из наиболее популярных среди веб-разработчиков. Она была создана на базе Red Hat — коммерческой операционной системы, которая, как правило, используется для тех же целей, но стоит немало. Именно потому, многие относятся к данной операционке, как к копии и подражанию. Но, на самом деле, она развивается значительно быстрее, благодаря открытому исходному коду.
Ее легко настроить, уровень безопасности довольно высок, несмотря на постоянные попытки проникнуть к базам данных со стороны злоумышленников. Схожесть с RHEL тоже используется на пользу: на платную операционную систему постоянно выходят крутые обновления, которые можно установить и на Cent.
Переходить или нет — вопрос субъективный. Но, если вы еще не пробовали Cent — тогда однозначно стоит попробовать. Тем более, что окружение не будет сильно отличаться от того, к которому вы привыкли на Ubuntu.
Если говорить о принципиальных отличиях систем, то брать во внимание систему обновлений или пользовательский интерфейс — глупо. Немного сделаем акцент на том, что Cent считается более стабильной осью, чем Ubuntu. Теперь пришло время узнать, как на эту систему установить СУБД MySQL.
MySQL «дружит» с Cent
Об одном необходимо предупредить сразу: как только вы шаблонно введете простую команду «install mysql», то получите… MariaDB. Уж такое отношение у разработчиков ОС к базам данных: они решили, что эта система лучше подходит для выполнения задач вебмастеров. Правда в том, что эта СУБД отлично справляется со всеми задачами, и вы можете остановиться на этом этапе, если система управления — опциональна.
Для того, чтобы установить именно MySQL, необходимо иметь операционную Cent версии 7 или выше. Также, на системе должен быть добавлен пользователь, обладающий правами на команду sudo и изменение конфигурационных параметров с ее помощью.
Для начала нужно посетить yum-хранилище приложений для Cent. Следуя инструкциям на странице, вы должны дойти до этапа, где увидите ссылку на скачивание. Необходимо скопировать ссылку и вставить в ее в командную строку. После этого произойдет скачивание программного обеспечения.
Как только вы получили доступ к файлам, стоит проверить их на поврежденность. Для того, чтобы это осуществить, нужно запустить утилиту md5sum и сравнить сумму с MD5. Правильное значение можно обнаружить по ссылке на сайт программного обеспечения. А как только целостность и подлинность будет подтверждена, можно приступить к установке.
Для этого вводим команду:
sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm
Получив два репозитория, пользователь может установить MySQL с помощью простого скрипта. Он аналогичен тому, что существует для других Linux. Отличие только в том, что после sudo добавляется команда yum. Должно получится вот так:
sudo yum install mysql-server
Смело принимайте ключ, который вам предложат, и установка закончится!
Протестируем
Упустим тот этап, когда нужно обеспечить безопасность для системы управления базами данных. О том, как открыть доступ к базе данных, мы поговорим немного ниже. Лучше посмотрим, как проверить тот факт, что сама СУБД установилась успешно.
Сперва войдите в базу данных с помощью программы mysqladmin. Именно здесь запускаются все команды, связанные с администрированием БД. Основным проверочным приемом является получение доступа с правами рут и проверка версий. После рутования, необходимо ввести команду:
mysqladmin -u root -p version
Она выведет на экран информацию о программном обеспечении
Если так, значит все получилось!
Расширяем круг пользователей
Если говорить о пользователях, то их существует всего два типа:
суперпользователь. Тот, который владеет правами рут;
рядовой пользователь.
Предоставлять рут обычным разработчикам и членам команды небезопасно. Вместо этого можно создавать пользователей и добавлять им полномочия соответственно с функциональными обязанностями.
Существует несколько основных:
CREATE – это право создать новую базу данных, либо таблицу;
SELECT – дает право выборки данных;
INSERT – возможность добавлять данные;
UPDATE – изменение данных в таблицах;
DELETE – возможность удалять данные.
Чтобы открыть доступ к этим возможностям для конкретного пользователя. Например, это могло бы выглядеть так:
GRANT INSERT UPDATE ON * . * TO 'non-root'@'localhost';
Точно так же можно и отбирать права у пользователя
REVOKE SELECT ON database. [имя таблицы] FROM 'non-root'@'localhost';
Как вы поняли, добавлять полномочия можно столько, сколько необходимо. Вы должны ставить необходимую команду, прописывать параметр. Если таковых несколько, нужно ставить запятую после каждого слова, которое означает привилегию. Можно отменить сразу все привилегии, при помощи команды REVOKE ALL PRIVILEGES. Такой сценарий необходим, когда администратор подозревает пользователя в мошенничестве. В то же время, не будет надобности в создании нового пользователя после того, как подозрения окажутся ложными.
Создавать пользователей можно неограниченно, как и применять к ним привилегии. Есть возможность создавать группы пользователей, которые разделены по признаку добавленных прав.
На этом мы заканчиваем! Помните, что открыть доступ — это взять на себя ответственность. Но, если правильно все распланировать, вас ждет эффективная веб-разработка.