Вступление
MySQL - это система управления базами данных с открытым исходным кодом, обычно устанавливаемая как часть популярной https://www.digitalocean.com/community/tutorials/how-to-install-linux -nginx-mysql-php-lemp-stack-on-centos-7 стек [LEMP] (Linux, Nginx, MySQL / MariaDB, PHP / Python / Perl). Он использует реляционную базу данных и SQL (язык структурированных запросов) для управления своими данными.
CentOS 7 предпочитает MariaDB, ветвь MySQL, управляемую первоначальными разработчиками MySQL и разработанную в качестве замены MySQL. Если вы запустите + yum install mysql
на CentOS 7, то будет установлена MariaDB, а не MySQL. Если вы задаетесь вопросом о MySQL против MariaDB, MariaDB, как правило, будет работать без проблем вместо MySQL, поэтому, если у вас нет конкретного варианта использования для MySQL, см. Как установить MariaDB на Centos 7 руководство.
В этом руководстве объясняется, как установить MySQL версии 5.7 на сервер CentOS 7.
Предпосылки
Чтобы следовать этому уроку, вам понадобится:
-
CentOS 7 с пользователем без полномочий root с привилегиями
+ sudo +
. Подробнее о том, как настроить пользователя с этими привилегиями, вы можете узнать из руководства Initial Server Setup с CentOS 7 ,
Шаг 1 - Установка MySQL
Как упоминалось во введении, команда Yum для установки MySQL фактически устанавливает MariaDB. Чтобы установить MySQL, нам нужно посетить The MySQL community Yum Repository, который предоставляет пакеты для MySQL.
В веб-браузере посетите:
https://dev.mysql.com/downloads/repo/yum/
Обратите внимание, что видные ссылки для скачивания не ведут непосредственно к файлам. Вместо этого они ведут на следующую страницу, где вам предлагается войти в систему или зарегистрировать учетную запись. Если вы не хотите создавать учетную запись, вы можете найти текст «Нет, спасибо, просто начните мою загрузку», затем щелкнуть правой кнопкой мыши и скопировать местоположение ссылки, или вы можете отредактировать номер версии в приведенных ниже командах.
Найдите нужную версию и при необходимости обновите ее по ссылке ниже:
изображение: https: //assets.digitalocean.com/articles/mysql-centos7/repo-name-small.png [Снимок экрана с выделением текущего имени репозитория yum]
wget https://dev.mysql.com/get/.noarch.rpm
После сохранения файла rpm мы проверим целостность загрузки, запустив + md5sum +
и сравнив его с соответствующим значением MD5, указанным на сайте:
md5sum .noarch.rpm
Output1a29601dc380ef2c7bc25e2a0e25d31e mysql57-community-release-el7-9.noarch.rpm
Сравните этот вывод с соответствующим значением MD5 на сайте:
изображение: https: //assets.digitalocean.com/articles/mysql-centos7/md5-sum-small.png [выделение снимка экрана md5dsum]
Теперь, когда мы убедились, что файл не был поврежден или изменен, мы установим пакет:
sudo rpm -ivh .noarch.rpm
Это добавляет два новых репозитория MySQL yum, и теперь мы можем использовать их для установки сервера MySQL:
sudo yum install mysql-server
Нажмите + y +
, чтобы подтвердить, что вы хотите продолжить. Поскольку мы только что добавили пакет, нам также будет предложено принять его ключ GPG. Нажмите + y +
, чтобы загрузить его и завершить установку.
Шаг 2 - Запуск 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.
В процессе установки временный пароль генерируется для пользователя root MySQL. Найдите его в + mysqld.log +
с помощью этой команды:
sudo grep 'temporary password' /var/log/mysqld.log
Output2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost:
Запишите пароль, который вам понадобится на следующем шаге для защиты установки и где вы будете вынуждены изменить его. Политика паролей по умолчанию требует 12 символов, по крайней мере, с одной заглавной буквы, одной строчной буквы, одного числа и одного специального символа.
Шаг 3 - Настройка MySQL
MySQL включает скрипт безопасности, чтобы изменить некоторые из менее безопасных опций по умолчанию для таких вещей, как удаленный вход в систему root и примеры пользователей.
Используйте эту команду для запуска скрипта безопасности.
sudo mysql_secure_installation
Это предложит вам ввести пароль root по умолчанию. Как только вы введете его, вам потребуется изменить его.
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
Введите новый 12-значный пароль, который содержит как минимум одну заглавную букву, одну строчную букву, одну цифру и один специальный символ. Повторно введите его, когда будет предложено.
Вы получите отзыв о силе вашего нового пароля, и вам сразу же будет предложено изменить его снова. Поскольку вы только что это сделали, вы можете с уверенностью сказать + No +
:
OutputEstimated 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
Мы можем проверить нашу установку и получить информацию о ней, подключившись к инструменту + mysqladmin +
, клиенту, который позволяет вам запускать административные команды. Используйте следующую команду для подключения к MySQL от имени * root * (+ -u root +
), запроса пароля (+ -p +
) и возврата версии.
mysqladmin -u root -p version
Вы должны увидеть вывод, похожий на этот:
Выход
mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.16
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 min 17 sec
Threads: 1 Questions: 6 Slow queries: 0 Opens: 107 Flush tables: 1 Open tables: 100 Queries per second avg: 0.043
Это означает, что ваша установка прошла успешно.
Заключение
В этом руководстве мы установили и защитили MySQL на сервере CentOS 7. Чтобы узнать больше об использовании MySQL, может помочь это руководство по learning больше о командах MySQL. Вы также можете подумать о том, что implementlement некоторые дополнительные меры безопасности.