Debian как подключиться к mysql

Обновлено: 07.07.2024

MySQL наиболее широко используемая система управления базами данных (СУБД) с открытым исходным кодом. Она используется для хранения и извлечения данных во многих приложениях. В официальных репозиториях Debian 10 находится СУБД MariaDB в качестве альтернативы для MySQL, и в большинстве случаев, она работает хорошо.

Но если вы хотите, получить СУБД с характеристиками присущими лишь MySQL, то вам потребуется установить ее из официального репозитория MySQL. Далее мы разберем как выполняется установка MySQL Debian 10 от разработчиков.

Как установить MySQL 8 в Debian 10

Шаг 1: Добавление репозитория MySQL

Чтобы установить MySQL в Debian, вам необходимо скачать и установить APT репозиторий содержащийся в .deb пакете, который управляет настройкой и установкой программного обеспечения MySQL.

Во время установки пакета вам будет предложено настроить репозиторий MySQL APT для выбора версий сервера MySQL и других компонентов, которые вы хотите установить. Для установки последней версии оставьте все как есть, перейдите к Оk и нажмите Enter.


Шаг 2: Установка MySQL

После добавления репозитория обновите кэш пакетов apt и установите пакет сервера MySQL. При этом также будут установлены пакеты для клиента и другие зависимости.

sudo apt update
sudo apt install mysql-server

Во время установки появится диалоговое окно конфигурации, в котором нужно будет установить пароль пользователя root для MySQL. Введите безопасный и надежный пароль, а затем подтвердите его.


После этого вас предупредят о новой системе аутентификации, на основе SHA256, использующейся в MySQL, нажмите Ok. Выберите плагин аутентификации (оставьте опцию по умолчанию, чтобы использовать рекомендуемый плагин) и нажмите кнопку Enter, чтобы завершить процесс установки.



Когда установка пакетов завершится, установщик запустит службу MySQL и настроит для неё автозагрузку. Чтобы убедиться, что служба MySQL работает, проверьте ее состояние с помощью следующей команды.

sudo systemctl status mysql


Есть несколько команд systemctl, которые вам нужно знать, чтобы управлять (запускать, перезапускать и останавливать) службу MySQL, когда это будет необходимо:

sudo systemctl start mysql
sudo systemctl restart mysql
sudo systemctl stop mysql
sudo systemctl reload mysql

Шаг 3: Настройка безопасности MySQL

Сервер MySQL из коробки не защищен, и для повышения безопасности потребуется запустить сценарий mysql_secure_installation. Выполните:

Прочитайте описание каждого вопроса и правильно ответьте на них. Во-первых, введите пароль пользователя root, который вы задали во время установки пакета. Вы можете выбрать y (для Yes) или n (для No), чтобы использовать или не использовать компонент VALIDATE PASSWORD.


Когда сценарий предложит вам установить новый пароль для пользователя root выберите No (вы уже установили его во время установки пакета). Затем внимательно следуйте другим подсказкам и выберите y (для YES), чтобы удалить анонимных пользователей, запретить удаленный вход под root в систему, удалить тестовую базу данных и перезагрузить таблицу привилегий.



Настройки MySQL Debian завершены, можно переходить к использованию.

Шаг 4: Проверка MySQL

После того как вы закончили настройку безопасности MySQL, можно начать использовать его для хранения данных для ваших веб-сайтов или веб-приложений. Чтобы получить доступ к оболочке MySQL, выполните следующую команду (пароль пользователя root введите по запросу, как показано на скриншоте):


Выводы

В этой статье мы рассказали, как выполняется установка MySQL Debian 10. Если у вас есть какие-либо вопросы по этой статье, спрашивайте в комментариях!

В этом руководстве мы покажем вам, как установить и защитить MySQL на машине Debian 9 из репозитория MySQL Apt . Если ваше приложение не имеет особых требований, вам следует придерживаться MariaDB, системы баз данных по умолчанию в Debian 9.

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Шаг 1. Настройка репозитория MySQL

Чтобы добавить репозиторий MySQL APT в вашу систему, перейдите на страницу загрузки репозитория и загрузите пакет последней версии, используя следующую команду wget :

После завершения загрузки установите пакет выпуска с помощью следующей команды:

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

Предварительно выбран MySQL 8.0, если вы хотите установить другую версию MySQL, выберите MySQL Server & Cluster (Currently selected: mysql-8.0) и выберите предпочитаемую версию MySQL.

Мы собираемся установить MySQL версии 8.0. Выберите последний вариант OK и нажмите Enter (как показано на изображении выше), чтобы сохранить конфигурацию.

На момент написания этой статьи последней версией MySQL была версия 8.0. Если вы не уверены, какую версию выбрать, обратитесь к документации приложения, которое вы собираетесь развернуть на своем сервере.

Шаг 2: установка MySQL

Перед установкой MySQL на ваш сервер Debian 9 сначала обновите список пакетов:

После обновления списка пакетов выполните следующую команду, чтобы установить MySQL на свой сервер Debian:

Программа установки попросит вас установить пароль root MySQL. Не устанавливайте пароль сейчас (оставьте поле пустым), мы сделаем это в следующем разделе.

Шаг 3. Проверка установки MySQL

После завершения установки служба MySQL запустится автоматически.

Мы можем проверить статус службы MySQL, набрав:

Шаг 4: защита MySQL

Запустите команду mysql_secure_installation чтобы установить пароль root и повысить безопасность установки MySQL:

Вам будет предложено настроить VALIDATE PASSWORD PLUGIN который используется для проверки VALIDATE PASSWORD PLUGIN паролей пользователей MySQL. Существует три уровня политики проверки пароля: низкий, средний и надежный. Нажмите ENTER если вы не хотите устанавливать плагин проверки пароля.

В следующем запросе вам будет предложено установить пароль для пользователя root MySQL.

После того, как вы установите пароль root, сценарий также попросит вас удалить анонимного пользователя, ограничить доступ пользователя root к локальному компьютеру и удалить тестовую базу данных. Вы должны ответить «Д» (да) на все вопросы.

Шаг 5: подключитесь к MySQL из командной строки

Для взаимодействия с MySQL через терминал мы будем использовать клиент MySQL, который устанавливается как зависимость от пакета сервера MySQL.

Чтобы войти на сервер MySQL как пользователь root, введите:

Вам будет предложено ввести пароль root, который вы ранее установили при mysql_secure_installation сценария mysql_secure_installation .

После ввода пароля вам будет представлена оболочка MySQL, как показано ниже:

Создать базу данных

После подключения к оболочке MySQL вы можете создать новую базу данных, введя следующую команду:

Создать таблицы

Теперь, когда мы создали базу данных, мы можем создать таблицу для хранения некоторых данных.

Перед запуском операторов SQL для создания таблицы нам необходимо подключиться к базе данных:

В этом примере мы создадим простую таблицу с именем contacts с тремя полями: id , name и email :

Выводы

В этом руководстве мы показали вам, как установить и защитить сервер MySQL на сервере Debian 9. Мы также показали вам, как подключиться к оболочке MySQL и как создать новую базу данных и таблицу.

Теперь, когда ваш сервер MySQL запущен и работает, и вы знаете, как подключиться к серверу MySQL из командной строки, вы можете проверить следующие руководства:

В этом руководстве объясняется, как установить и защитить MySQL в Debian 10 из репозитория MySQL Apt .

Настройка репозитория MySQL

Чтобы добавить репозиторий MySQL APT в вашу систему, перейдите на страницу загрузки репозитория и загрузите пакет последней версии, используя следующую команду wget :

После завершения загрузки установите пакет выпуска как пользователь с привилегиями sudo :

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

Предварительно выбран MySQL 8.0, если вы хотите установить MySQL 5.7, выберите MySQL Server & Cluster (Currently selected: mysql-8.0) и выберите предпочитаемую версию MySQL.

Мы собираемся установить MySQL версии 8.0. Выберите OK , нажав Tab и нажмите Enter (как показано на изображении выше).

Если вы не уверены, какую версию выбрать, обратитесь к документации приложения, которое вы собираетесь развернуть на своем сервере.

Установка MySQL

Обновите список пакетов и установите пакет сервера MySQL, запустив:

Программа установки попросит вас установить пароль root MySQL. Не устанавливайте пароль сейчас (оставьте поле пустым), мы сделаем это в следующем разделе.

После завершения установки служба MySQL запустится автоматически, вы можете проверить это, набрав:

Обеспечение безопасности MySQL

Запустите команду mysql_secure_installation чтобы установить пароль root и повысить безопасность установки MySQL:

Вам будет предложено настроить VALIDATE PASSWORD PLUGIN который используется для проверки VALIDATE PASSWORD PLUGIN паролей пользователей MySQL. Существует три уровня политики проверки пароля: низкий, средний и надежный. Нажмите ENTER если вы не хотите устанавливать плагин проверки пароля.

В следующем запросе вам будет предложено установить пароль для пользователя root MySQL.

После того, как вы установите пароль root, сценарий также попросит вас удалить анонимного пользователя, ограничить доступ пользователя root к локальному компьютеру и удалить тестовую базу данных. Вы должны ответить «Д» (да) на все вопросы.

Подключение к серверу MySQL

Для взаимодействия с MySQL через терминал используйте клиент mysql который устанавливается как зависимость пакета сервера MySQL.

Если вы выбрали метод аутентификации по умолчанию для входа на сервер MySQL в качестве пользователя root:

В противном случае, если вы выбрали устаревший метод аутентификации для входа, введите:

Вам будет предложено ввести пароль root, который вы ранее установили при mysql_secure_installation сценария mysql_secure_installation . После ввода пароля вам будет представлена оболочка MySQL, как показано ниже:

Выводы

В этом руководстве вы узнали, как установить и защитить сервер MySQL на сервере Debian 10. Мы также показали вам, как подключиться к оболочке MySQL.

Если у вашего приложения нет особых требований, вам следует придерживаться MariaDB , системы баз данных по умолчанию в Debian 10.

После того, как вы установили и настроили MySQL, вам необходимо создать базы данных, таблицы и пользователей. Конечно, вы можете сделать это от имени суперпользователя root, но это не безопасно. Да и большинство приложений не позволят вам такой вольности, например, Phpmyadmin не даст авториrзоваться от имени суперпользователя.

Поэтому для каждой базы данных нужно создавать отдельных пользователей и настраивать для них права. В этой статье мы рассмотрим, как выполняется создание пользователя mysql, а также настройка его прав.

Создание пользователя mysql

1. Как создать пользователя MySQL

Предположим, что база данных уже создана и называется test_database. Нам нужно открыть клиент базы данных. Для этого наберите в терминале:


Теперь можно работать. Для создания пользователя используется команда CREATE USER, её синтаксис такой:

CREATE USER 'имя_пользователя' @ 'хост' IDENTIFIED BY 'пароль' ;

Кроме имени пользователя, здесь нужно задать хост, с которого может авторизоваться этот пользователь. Здесь может быть доменное имя, IP-адрес, адрес подсети или знак "%", который означает все возможные хосты. Это очень удобно, потому что вы можете создать пользователя, к которому можно будет подключится только локально или настроить отдельно права для локального или удалённого пользователя.

Например, давайте создадим локального пользователя test_user с паролем password:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'password';


Или можно создать пользователя, который будет доступен со всех хостов:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'password';


Смотрим наших пользователей:


Все пользователи созданы.

2. Права пользователя MySQL

Создать пользователя - это ещё далеко не всё, теперь нужно назначить ему права. Для этого используется команда GRAT. У неё такой синтаксис:

GRANT привилегии ON база_данных . таблица TO ' имя_пользователя ' @ ' хост ' ;

Здесь можем дать определённые привилегии для опредёленного пользователя к базе данных или таблице. Если нужно дать права для всех баз данных или таблиц, используйте вместо названия звездочку - "*". Вот основные права пользователя MySQL, которые вы можете использовать:

  • ALL PRIVILEGES - все, кроме GRANT;
  • USAGE PRIVILEGES - никаких привилегий;
  • SELECT - делать выборки из таблиц;
  • INSERT - вставлять данные в таблицу;
  • UPDATE - обновлять данные в таблице;
  • DELETE - удалять данные из таблицы;
  • FILE - разрешает читать файлы на сервере;
  • CREATE - создавать таблицы или базы данных;
  • ALTER - изменять структуру таблиц;
  • INDEX - создавать индексы для таблиц;
  • DROP - удалять таблицы;
  • EVENT - обработка событий;
  • TRIGGER - создание триггеров.

Также доступны такие привилегии администрирования баз данных:

  • GRANT - изменять права пользователей;
  • SUPER - суперпользователь;
  • PROCESS - получение информации о состоянии MySQL;
  • RELOAD - позволяет перезагружать таблицы привилегий;
  • SHUTDOWN - позволяет отключать или перезапускать базу данных;
  • SHOW DATABASES - просмотр списка баз данных;
  • LOCK TABLES - блокирование таблиц при использовании SELECT;
  • REFERENCES - создание внешних ключей для связывания таблиц;
  • CREATE USER - создание пользователей;

Чтобы дать права пользователю MySQL на обновление и добавление записей для базы данных test_database, выполните:

GRANT SELECT,UPDATE,INSERT ON test_database . * TO 'test_user'@'localhost';

Дальше дадим этому же пользователю все права над этой базой данных:

GRANT ALL PRIVILEGES ON test_database . * TO 'test_user'@'localhost';

Теперь посмотрим привилегии нашего пользователя:

SHOW GRANTS FOR 'test_user'@'localhost';


Мы видим, что для всех баз данных и таблиц привелегий нет, но зато есть все привилегии для базы данных test_database. Вот так это работает. После обновления прав пользователя необходимо обновить таблицу прав пользователей MySQL в памяти. Для этого выполните:

3. Удаление прав пользователя MySQL

Чтобы отозвать права у пользователя MySQL, используйте команду REVOKE вместо GRANT. Её синтаксис похож на GRANT:

REVOKE привилегии ON база_данных . таблица FROM ' имя_пользователя ' @ ' хост ' ;

Например, заберём все права на базу данных test_database у нашего пользователя:

REVOKE ALL PRIVILEGES ON test_database . * FROM 'test_user'@'localhost';


4. Создание суперпользователя MySQL

Если вам необходимо создать пользователя со всеми правами MySQL на замену для root, то можно использовать такую конструкцию:

GRANT ALL PRIVILEGES ON * . * TO 'test_user'@'localhost';

GRANT ALL PRIVILEGES ON * . * TO 'test_user'@'localhost' WITH GRANT OPTION;

Теперь этот пользователь является суперпользователем для MySQL и, авторизовавшись от его имени в PhpMyAdmin, вы можете делать всё то же самое, что и с помощью root.

Выводы

В этой статье мы рассмотрели, как создать пользователя MySQL в Ubuntu или в любом другом дистрибутиве. Работа в командной строке с MySQL может показаться довольно сложной. Но сделать это надо всего один раз -после установки базы данных. А дальше можно выполнять все действия в Phpmyadmin.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Читайте также: