Установка MySQL на Linux #
Установка и настройка займет 17-20 минут
Установка пакета MySQL Server #
Будем устанавливать MySQL как сервис в систему, нам будет необходима любая версия 8.0.x, которая есть в репозитория дистрибутива.
Откройте терминал и выполните команды в зависимости от вашего пакетного менеджера:
Обновите список пакетов
sudo apt update
Запускаем обновление пакетов репозитория:
Запускаем установку
sudo apt install mysql-server
Успешная установка:
Обновите список пакетов
sudo pacman -Syu
Установите пакет mysql
:
sudo pacman -S mysql
При запросе
выбирайте 1
Обновите Yum репозиторий, скачайте
https://dev.mysql.com/downloads/repo/yum/
и установите согласно настройкам
После того как пакет установится, он у вас не спросит ни пароля ни других данных для аутентификации. Чтобы задать первоначальные настройки необходимо запустить конфигуратор.
Также может потребоваться установка если вы выбрали mariadb:
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
При успехе будет создан пользователь root
без пароля и пользователь mysql
без пароля. Чтобы использовать эти учетные записи, необходимо быть пользователем root или mysql при использовании клиентов, что неудобно и небезопасно. Желательно выполнить конфигурацию и создать пользователя.
- 💡 вы всегда можете проверить работает ли сервер Mysql командой
systemctl status mysql
Для перезапуска команда
systemctl restart mysql
Для остановки mysql
systemctl stop mysql
Конфигурация MySQL #
Для начала работы зададим первоначальные настройки и настройки безопасности:
В терминале наберите команду
sudo mysql_secure_installation
Будет запущено поэтапный конфигуратор, который будет вам задавать вопросы.
Первый вопрос: Необходимо ли делать валидацию новых паролей пользователей базы данных. Отвечайте на этот вопрос Y.
Далее вас спросят насколько сложными должны быть новые пароли. Если вы настраиваете сервер для тестов, локально. Можете выбрать 0, пароль должен быть 8 и более символов. В остальных случаях используйте 1 или 2.
Далее введите пароль от root пользователя:
Обязательно запомните пароль, он требуется для настройки базы данных, создания пользователей и прочих важных действий с бд
После ввода пароля, вам предложат повторить пароль для подтверждения. Далее вас могут спросить, готовы продолжить с установленным паролем, вводите Y и нажмите Enter.
Следующим шагом, предложат удалить анонимный аккаунт test, вы можете использовать его при использовании бд как тестовую. А так принято удалять, чтобы не было возможности получить доступ к бд без логина и пароля. Выбирайте Y для удаления.
После будет предложено запретить доступ пользователю root если попытка получить доступ к бд будет не с локального компьютера на котором установлен сервис mysql.
Если вы используете учебную базу на одном компьютере, то закрывайте доступ.
Даже если вы планируете использовать базу данных с другого компьютера - создайте пользователя и разрешите доступ только ему для конкретной базы.
В нашем случае выбирайте Y:
Далее предлагают удалить тестовые базы, соглашайтесь если вам они не нужны, выбирайте Y:
И последний вопрос будет - перезагрузить ли привилегии пользователей, чтобы изменения вступили в силу:
Создание нового пользователя #
Самое время проверить и подключиться к mysql и создать пользователя через которого будем работать:
sudo mysql
Выполните команду:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
где
username
- логин нового пользователя
password
- пароль, на скриншоте используется slsds23#.jd
Поменяйте значения по вашему усмотрению и запомните.
Для учебных целей выдайте права на все базы этому пользователю:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
Давать все права (привилегии) на реальных базах опасно, это допустимо делать только на учебных базах данных.
Остается выйти quit
и зайти уже под новым пользователем
Проверка подключения #
Для подключения вводим команду
mysql -u username -p
, где мы указываем два параметра:
-u
и после него указывается пользователь под которым мы хотим зайти в консоль mysql
-p
после него не указываем ничего, а значит нас спросят ввести пароль отдельно. Можно пароль вводить после, например так mysql -u username -p 12345
, но это менее безопасно. Так как пароль остается в открытом виде.
База данных настроена и ей можно пользоваться.
Стандартные данные для подключения к бд #
Данные подключения для использования клиентов с графическим интерфейсом:
host: localhost
port: 3306
username: username
password: <тот что вы задали>
Рекомендуется использовать для работы с базой данных графический интерфейс, например программу https://dbeaver.io/