Настройка mysql centos 7

Обновлено: 05.07.2024

MySQL – это открытая система управления базами данных, которая является частью стека LEMP (Linux, Nginx, MySQL/ MariaDB, PHP/Python/Perl). Для управления данными реляционная СУБД MySQL использует SQL (Structured Query Language).

В системе CentOS 7 обычно используется MariaDB, разработанный и поддерживаемый создателями MySQL форк, предназначенный для замены MySQL. Если вы запустите команду yum install mysql в CentOS 7, вместо MySQL будет установлена система MariaDB.

MariaDB имеет все функции системы MySQL и без проблем заменяет её, так что вы можете использовать MariaDB вместо MySQL, если ваше приложение не привязано именно к MySQL.

Данное руководство поможет установить MySQL 5.7 на сервер CentOS 7.

Требования

  • Сервер CentOS 7.
  • Пользователь с доступом к sudo.

1: Установка MySQL

Как говорилось ранее, команда yum вместо MySQL устанавливает MariaDB. Чтобы установить MySQL, посетите yum-репозиторий сообщества MySQL и найдите там необходимый пакет. Откройте в браузере:

Обратите внимание: ссылки для загрузки не ведут напрямую к файлам. Вместо этого вы попадаете на страницу, которая приглашает вас войти или зарегистрироваться. Если вы не хотите создавать учётную запись, найдите «No thanks, just start my download», кликните правой кнопкой мыши и скопируйте ссылку на пакет.

Вставьте ссылку в команду:

Примечание: Номер версии может отличаться.

Сохранив rpm-файл, нужно убедиться, что он не повреждён. Для этого загрузите md5sum и сравните контрольную сумму со значением MD5, которое можно найти на сайте.

md5sum mysql57-community-release-el7-9.noarch.rpm
1a29601dc380ef2c7bc25e2a0e25d31e mysql57-community-release-el7-9.noarch.rpm

Примечание: MD5 можно найти под кнопкой Download.

Убедившись в подлинности пакета, вы можете установить его:

sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

После этого на сервере появится два дополнительных yum-репозитория MySQL, с помощью которых можно установить MySQL.

sudo yum install mysql-server

Чтобы продолжить, нажмите y. После добавления пакета система предложит принять его GPG-ключ. Нажмите y, чтобы загрузить ключ и закончить установку.

2: Запуск MySQL

Запустите демон MySQL:

sudo systemctl start mysqld

Команда systemctl не показывает вывод некоторых команд. Чтобы убедиться, что демон запущен, введите:

sudo systemctl status mysqld

Если сервер MySQL был запущен, в выводе команды будут строки:

Active: active (running)
[…] Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

Примечание: Автозапуск MySQL настраивается самостоятельно во время установки. Чтобы отключить автозапуск, введите:

sudo systemctl disable mysqld

Во время установки MySQL генерирует временный пароль для root-пользователя. Найдите его в mysqld.log с помощью команды:

sudo grep 'temporary password' /var/log/mysqld.log
2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

Запишите пароль, чтобы пройти аутентификацию. Конечно, этот пароль нужно заменить более сложным. Стандартная политика требует, чтобы пароль состоял из 12 символов (включая буквы верхнего и нижнего регистра, цифры и специальные символы).

3: Настройка MySQL

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

Программа запросит root-пароль, который вы получили при установке.

The existing password for the user account root has expired. Please set a new password.
New password:

Введите новый пароль из 12 символов и подтвердите его.

Примечание: Пароль должен содержать минимум один специальный символ, одну цифру, одну букву верхнего и одну нижнего регистра.

Программа оценит ваш новый пароль и сообщит о его надёжности. После этого программа сразу предложит выбрать новый пароль. Поскольку вы выбрали его только что, не нужно этого делать.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) :

После этого сценарий задаст вам ряд вопросов. Чтобы принять данные по умолчанию, можете просто нажать Y и Enter. Сценарий заблокирует анонимных пользователей и удалённый root логин, удалит тестовые таблицы и перезагрузит привилегии.

4: Тестирование MySQL

Теперь нужно убедиться, что установка MySQL прошла успешно.

Попробуйте подключиться к БД с помощью инструмента mysqladmin (это клиент, предназначенный для запуска команд администрирования). Чтобы подключиться к MySQL как root (-u root), ввести пароль (-p) и запросить версию программы, введите команду:

Установка MySQL на CentOS 7

MySQL — одна из наиболее широко распространённых систем управления базами данных для сайтов и серверных приложений. Каждый веб-специалист должен уметь пользоваться этим инструментом. Поэтому в этом руководстве мы покажем вам, как проходит установка MySQL на сервере Linux, запущенном под операционной системой CentOS 7, через SSH-подключение.

Попробуйте VPS-хостинг от Hostinger и получите огромную скидку 77%!

Установка MySQL на Сервер с CentOS 7

Если вы хотите установить MySQL, необходимо выполнить три шага — загрузить репозиторий MySQL, установить его и проверить статус. Дальше мы рассмотрим каждый шаг отдельно.

Скачивание и Подготовка MySQL Репозитория

Прежде чем мы начнём установку MySQL на CentOS 7, убедитесь, что ваш VPS или выделенный сервер работает именно на этом дистрибутиве. А также проверьте есть ли у вас root-доступ к нему. Вы можете узнать, как подключиться к вашему серверу через SSH, следуя нашему руководству.

Установка MySQL

Запуск MySQL и Проверка Работы

Статус MySQL - Успешно Работает

  1. MySQL не запустится автоматически сразу после установки. Следовательно, вам нужно запустить его вручную с помощью команды:
  2. Вы не получите ответа после запуска MySQL, поэтому, чтобы проверить, правильно ли она работает, используйте команду ниже:
  3. Она выведет информацию о статусе MySQL:

Если вы видите, что MySQL активна и работает, как на изображении выше, это значит, что установка MySQL и её запуск на сервере прошли успешно.

Как настроить MySQL?

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

Изменение Пароля Root-пользователя для MySQL

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

Чтобы изменить пароль, выполните следующие действия:

СОВЕТ: надёжный пароль состоит из 8–12 символов и включает цифры, специальные символы, прописные и строчные буквы.

Проверка Текущей Версии MySQL

После того как вы установили MySQL на CentOS 7, вы можете проверить, все ли было установлено правильно, посмотрев её версию. Введите следующую команду:

Введите пароль root, который вы создали. Ответ будет следующим:

Сброс Пароля Root для MySQL

Если вы хотите сбросить пароль, процесс довольно прост. Выполните следующие действия, чтобы изменить свой пароль root для MySQL:

Создание Нового Пользователя MySQL, Базы Данных

Как пользователь с правами root в MySQL вы имеете полный доступ ко всем базам данных.

Однако, если вы работаете в команде, бывают случаи, когда вам нужно установить некоторые ограничения. Для этого вам придётся либо создать новую базу данных, либо пользователей с настраиваемыми правами доступа.

Вот как быстро решить этот вопрос:

  1. Используйте следующую команду, чтобы создать новую базу данных:
  2. Замените newdb на имя новой базы данных.
  3. Создайте нового пользователя, набрав следующую строку:
  4. Соответственно измените переменные username и password, добавив свои значения, чтобы создать нового пользователя.
  5. Если вы хотите удалить определённого пользователя, используйте команду:

Управление Разрешениями Пользователей MySQL

Предоставьте новому пользователю доступ к базе данных, набрав:

Вы также можете назначать права доступа индивидуально. Вот список возможных опций:

  • SELECT – пользователи могут читать базу данных с помощью команды select
  • CREATE – могут создавать новые таблицы
  • DROP – позволяет пользователям удалять таблицы
  • DELETE – пользователи могут извлекать строки из таблиц
  • INSERT – позволяет пользователям добавлять строки в таблицы
  • UPDATE – разрешает обновлять строки
  • GRANT OPTION – могут предоставлять или удалять права других пользователей

Например, чтобы предоставить тип доступа CREATE, вам нужно будет ввести:

С другой стороны, если вы хотите ограничить кому-либо доступ, используйте следующее:

Вы также можете проверить текущие разрешения пользователя:

Наконец, когда все права назначены, рекомендуется выполнить эту команду, чтобы изменения вступили в силу:

Другие Полезные Команды MySQL

В MySQL также есть список полезных команд. Просто введите \h или help, чтобы просмотреть их. Ниже показан пример того, как выглядит этот список:

Заключение

Таким образом, вы узнали, как проходит установка MySQL на сервере CentOS 7. Теперь вы можете хранить свои базы данных на сервере и легко управлять ими при помощи прекрасной системы.

Обязательно ознакомьтесь с другими нашими руководствами по VPS и оставьте комментарий ниже, если у вас есть какие-либо вопросы.

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

С выпуском CentOS 7 MySQL самая популярная в мире система управления реляционными базами данных с открытым исходным кодом больше не доступна в репозиториях CentOS, и MariaDB стала системой баз данных по умолчанию. MariaDB - это бинарная замена MySQL с обратной совместимостью.

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

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

Как мы упоминали во введении, MySQL недоступен в репозиториях CentOS 7 по умолчанию, поэтому мы будем устанавливать пакеты из репозитория MySQL Yum . В следующих разделах мы покажем вам, как установить MySQL 8.0 и MySQL 5.7.

Вы должны установить только одну версию MySQL на вашем сервере CentOS 7. Если вы не уверены, какую версию установить, обратитесь к документации приложений, которые вы собираетесь развернуть на своем сервере.

Установите MySQL 8.0 на CentOS 7

На момент написания этой статьи последняя версия MySQL - это версия 8.0. Чтобы установить его на свой сервер CentOS 7, выполните следующие действия:

Включите репозиторий MySQL 8.0 с помощью следующей команды:

Установите пакет MySQL 8.0 с помощью yum:


Во время установки yum может предложить вам импортировать ключ MySQL GPG. Введите y и нажмите Enter .

Установите MySQL 5.7 на CentOS 7

Чтобы установить предыдущий стабильный выпуск MySQL, MySQL версии 5.7 на сервере CentOS 7, выполните следующие действия:

Включите репозиторий MySQL 5.7 с помощью следующей команды:

Установите пакет MySQL 5.7 с:

Установите MySQL как любой другой пакет, используя yum:


Разделы ниже относятся как к MySQL 8.0, так и к MySQL 5.7.

Запуск MySQL

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


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

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

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


Вывод должен выглядеть примерно так:


Запишите пароль, потому что следующая команда попросит вас ввести временный пароль root.


Запустите mysql_secure_installation команду для повышения безопасности нашей установки MySQL:


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


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

Подключение к MySQL из командной строки

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

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


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

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

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

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

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

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

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


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

Вывод

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

Если вы предпочитаете веб-интерфейс командной строке, вы можете установить phpMyAdmin и управлять своими базами данных MySQL через него.

MySQL - это одна из самых популярных систем управления базами данных, используемых как на производстве, так и для хранения данных веб-сайтов и приложений. Однако после перехода MySQL в собственность Oracle, вместо нее везде по умолчанию используется MariaDB. Это достойная замена, если вам нужна только базовая функциональность, но если вы хотите получить все тонкости и возможности MySQL, вам нужна именно версия от Oracle.

Но из официальных репозиториев MySQL была удалена. Поэтому вам придется искать другие источники. В этой статье мы рассмотрим как выполняется установка MySQL CentOS 7. Причем в версии от Oracle, а не MariaDB.

Подготовка системы

Перед тем как перейти к установке MySQL в CentOS нужно выполнить несколько настроек и проверить все ли правильно в вашей системе. Сначала убедитесь, что у вас установлено имя хоста. Для этого выполните команду:

hostname
$ hostname -f


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

sudo yum update

Установка MySQL в CentOS 7

Для установки этой версии вы можете использовать команду:


Дальше обновите список репозиториев:

sudo yum update

Теперь вам осталось осталась установка mysql centos 7 и запуск самой службы:

sudo yum install mysql-server
$ sudo systemctl start mysqld


Настройка MySQL CentOS 7

По умолчанию MySQL будет слушать локальный хост 127.0.0.1. Если вы хотите, чтобы сервер был доступен из интернета, необходимо изменить несколько настроек в файле /etc/my.cnf. Однако, не рекомендуется делать сервер баз данных доступным через интернет. Чтобы указать внешний ip адрес, который нужно прослушивать используется строку bind_address:

sudo vi /etc/my.cnf

Также в установке параметров по умолчанию есть некоторые настройки, которые могут быть потенциально не безопасными при доступе из внешней сети. Для этого чтобы их устранить запустите скрипт mysql_secure_installation:


Сначала нужно ввести пароль суперпользователя. По умолчанию система генерирует случайный пароль во время установки. Чтобы его посмотреть откройте еще один терминал и выполните:

grep 'temporary password' /var/log/mysqld.log


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


Затем укажите что пароль менять не нужно. Отключите анонимных пользователей. Запретите удаленный вход от имени пользователя root:


Удалите тестовые таблицы:


И обновите таблицы привелегий:

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

Утилита, запросит пароль, введите пароль root, который задали на предыдущем этапе, дальше вы сможете выполнять команды mysql:


Давайте создадим пользователя dbuser для базы данных dbase, с паролем password. Вам нужно заменить эти значения на свои. Сначала создаем базу данных:

mysql> create database dbase;
mysql> create user 'dbuser'@'localhost' identified by 'password';
mysql> grant all on dbase.* to dbuser' identified by 'password';

Дальше создадим первую таблицу в нашей новой базе данных, но перед этим войдем от имени только что созданного пользователя:

mysql -u testuser -p

Переключите на новую базу данных:

mysql> use dbase

Затем создайте таблицу:

create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);

Готово. Теперь вы знаете как выполняется установка MySQL CentOS 7. Давайте еще рассмотрим как сбросить пароль в MySQL.

Сброс пароля пользователя root в MySQL

Иногда может случиться что вы забудете пароль пользователя root. Его можно очень просто сбросить. Сначала остановите запущенный экземпляр программы:

sudo systemctl stop mysqld

Затем запустите сервис в безопасном режиме, для этого нужно установить специальную опцию запуска:

systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

В этом режиме программа не будет запрашивать пароль для подключения. Подключитесь от имени суперпользователя и измените пароль:

mysql> use mysql;
mysql> update user SET PASSWORD=PASSWORD("пароль") WHERE USER='root';
mysql> flush privileges;

Затем удалите эту переменную:

sudo systemctl unset-environment MYSQLD_OPTS

Осталось снова запустить сервер в обычном режиме:

sudo systemctl start mysqld

Улучшение производительности mysql

Настройка mysql по умолчанию не всегда оптимальна. Учитывая ваши особенности использования баз данных, можно улучшить ее производительность. Скрипт MySQL Tuner написанный на Perl и предоставляет рекомендации по настройке MySQL в зависимости от вашей нагрузки. Перед тем как запускать скрипт, дайте серверу поработать не менее чем 24 часа. Чем дольше будет время работы, тем точнее инструкции.

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

Удаление mysql

Если вы хотите удалить MySQL CentOS 7, достаточно выполнить такую команду:

sudo yum remove mysql-server

Выводы

В этой статье мы рассмотрели как установить mysql centos 7. Теперь вы можете установить эту программу на своем сервере или домашнем компьютере. Также мы поговорили как выполняется базовая настройка mysql centos 7, поэтому теперь вы сможете получить полностью рабочую систему. Если у вас остались вопросы, спрашивайте в комментариях!


Изображение выше свидетельствует об успешной установке. Чтобы
Может быть изменен vim /etc/yum.repos.d/mysql-community.repo Источник, измените версию mysql, установленную по умолчанию. Например, чтобы установить версию 5.6, измените enabled = 1 источника 5.7 на enabled = 0. Затем измените enabled = 0 источника 5.6 на enabled = 1. Эффект после модификации следующий:

2. Установите MySQL.

3. Запустите службу MySQL.

Просмотр статуса запуска MySQL

4. Загрузитесь

5. Измените локальный пароль для входа в систему root.

После установки mysql для пользователя root создается пароль по умолчанию в файле /var/log/mysqld.log. Найдите пароль root по умолчанию следующим образом, а затем войдите в mysql, чтобы изменить его:

root

Вы можете просмотреть соответствующую информацию о политике паролей с помощью переменной среды msyql:

mysql


validate_password_policy: политика паролей, по умолчанию - СРЕДНЯЯ политика
validate_password_dictionary_file: файл политики паролей, необходим только если политика СИЛЬНАЯ
validate_password_length: минимальная длина пароля
validate_password_mixed_case_count: длина символов верхнего и нижнего регистра, не менее 1
validate_password_number_count: минимум 1 номер
validate_password_special_char_count: минимум 1 специальный символ
Вышеуказанные параметры являются правилами проверки пароля политики по умолчанию MEDIUM.

Есть несколько стратегий паролей:

Стратегия Правила осмотра
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

Изменить политику паролей

Добавьте конфигурацию validate_password_policy в файл /etc/my.cnf, чтобы указать политику паролей

Если вам не нужна политика паролей, просто добавьте следующую конфигурацию, чтобы отключить ее в файле my.cnf:

Перезапустите службу mysql, чтобы конфигурация стала эффективной:

6. Добавьте пользователей удаленного входа.

По умолчанию локальный вход разрешен только учетной записи root. Если вы хотите подключиться к mysql на других машинах, вы должны изменить root, чтобы разрешить удаленные подключения, или добавить учетную запись, которая разрешает удаленные подключения. В целях безопасности я добавляю новую учетную запись:

7. Настройте кодировку по умолчанию как utf8.

Измените файл конфигурации /etc/my.cnf и добавьте конфигурацию кодировки в [mysqld], как показано ниже:

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

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