Centos 7 mysql: Установка и настройка MySQL на CentOS 7
Содержание
Установка MySQL в CentOS 7
1 января, 2017 12:07 пп
28 047 views
| Комментариев нет
Centos, mySQL | Amber
| Комментировать запись
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.
Читайте также: Переход с MySQL на MariaDB
MariaDB имеет все функции системы MySQL и без проблем заменяет её, так что вы можете использовать MariaDB вместо MySQL, если ваше приложение не привязано именно к MySQL.
Читайте также: Установка MariaDB в CentOS 7
Данное руководство поможет установить MySQL 5.7 на сервер CentOS 7.
Требования
- Сервер CentOS 7.
- Пользователь с доступом к sudo.
Все необходимые инструкции можно найти в руководстве по начальной настройке сервера.
1: Установка MySQL
Как говорилось ранее, команда yum вместо MySQL устанавливает MariaDB. Чтобы установить MySQL, посетите yum-репозиторий сообщества MySQL и найдите там необходимый пакет. Откройте в браузере:
https://dev.mysql.com/downloads/repo/yum/
Обратите внимание: ссылки для загрузки не ведут напрямую к файлам. Вместо этого вы попадаете на страницу, которая приглашает вас войти или зарегистрироваться. Если вы не хотите создавать учётную запись, найдите «No thanks, just start my download», кликните правой кнопкой мыши и скопируйте ссылку на пакет.
Вставьте ссылку в команду:
wget https://dev.mysql. com/get/mysql57-community-release-el7-9.noarch.rpm
Примечание: Номер версии может отличаться.
Сохранив 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-логин. Чтобы запустить сценарий, введите:
sudo mysql_secure_installation
Программа запросит 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) и запросить версию программы, введите команду:
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 прошла успешно.
Заключение
Теперь вы умеете выполнять базовую установку и настройку MySQL.
Читайте также:
- Защита MySQL и MariaDB на сервере Linux
- Оптимизация запросов и таблиц MySQL и MariaDB
Tags: CentOS 7, MySQL
Собираем InnoDB cluster из mysql 5.7 на centos 7 / Хабр
Всем привет!
Как-то раз появилась по работе задача — есть вроде бы настроенный тестовый innoDB cluster на нескольких виртуалках с centos 7.5, надо его поизучать и добавить еще пару нод. Можно ломать и издеваться как угодно. Звучит заманчиво.
До этого у меня опыта работы с таким кластером не было, ну да гугл в помощь.
За несколькими исключениями, все ссылки что в нем, что в яндексе вели либо на dev. mysql.com, либо на эту статью на Хабре. Вроде как по ней и был настроен кластер из двух нод.
Чтож, статью я прочитал, несколько удивился сложности добавления нод и отсутствию многих подробностей, ну да ладно. Добавил с грехом пополам новую ноду (часть команд не пригодилась, часть вообще все ломала), после чего начал экспериментировать с перезапуском нод и т.д.
После нескольких подходов и бесчисленных смертей нервных клеток кластер не выдержал. Одна нода не хотела добавляться ни при каких условиях, другая зависала при попытке любого обращения к базе, третья делала вид, что все в порядке. Пришлось пристрелить и начать с нуля.
При создании нового кластера к сожалению возникла не меньшая куча проблем и нестыковок. Возможно дело в версиях программ, я пробовал mysql 5.7. Возможно в дистрибутиве. В итоге я прекратил бездумные потуги делать все по бумажке и стал настраивать его методом тыка. И гугла.
Пара приятных вечеров и ночей и кластер собрался и даже отказался рушиться.
При этом способ его создания заметно отличался от предыдущих попыток и мне захотелось им поделиться, т.к. на просторах интернета других актуальных подробных понятных инструкций по настройке inndoDB cluster я не нашел.
Итак, имеем три одинаковых виртуалки со свежеустановленным Centos 7.5 minimal 1804 и отключенными selinux и firewalld:
1.1.1.1
1.1.1.2
1.1.1.3
По работе я использовал mysql 5.7, так что ее и используем. Начнем с 1.1.1.1:
1. Установим репозиторий mysql-community:
rpm -i https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
Выключим репозиторий для 8, включим для 5.7 и проверим — если все ок, то устанавливаем mysql:
yum install yum-utils yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community yum repolist yum install mysql-community-server mysql-shell
2. Приводим /etc/my. cnf к такому виду:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid bind-address=0.0.0.0 port=3301 # Replication part server_id=1 gtid_mode=ON enforce_gtid_consistency=ON master_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE log_slave_updates=ON log_bin=binlog binlog_format=ROW plugin-load = group_replication.so # Group replication part transaction_write_set_extraction=XXHASH64 loose-group_replication_start_on_boot = OFF loose-group_replication_local_address = 1.1.1.1:33011 loose-group_replication_bootstrap_group = OFF report_port = 3301 report_host = 1.1.1.1
Здесь 3301 это порт, на котором будет слушать mysql, а 33011 порт, на котором ноды общаются между собой.
3. Запустим mysql и выполним предварительную настройку:
systemctl start mysqld grep 'password' /var/log/mysqld.log mysql_secure_installation
4. Ну и создадим кластер, а так же отдельного пользователя для управления им. Если вы знаете заранее ip-адреса нод, то можно их сразу перечислить в ipWhitelist. Сделаем вид, что мы пока не знаем про 1.1.1.2. и 1.1.1.3:
mysqlsh > \c 127.0.0.1:3301 > dba.configureLocalInstance("127.0.0.1:3301", {mycnfPath: "/etc/my.cnf", clusterAdmin: "cladmin", clusterAdminPassword: "SomePassword!123"}) > \c [email protected]:3301 > dba.checkInstanceConfiguration() > cl=dba.createCluster('TestCluster', {ipWhitelist: '1.1.1.1'}) > dba.configureLocalInstance() > cl.status()
Готово! cl.status должен вывести что-то типа этого:
{ "clusterName": "TestCluster", "defaultReplicaSet": { "name": "default", "primary": "1.1.1.1:3301", "ssl": "REQUIRED", "status": "OK_NO_TOLERANCE", "statusText": "Cluster is NOT tolerant to any failures.", "topology": { "1.1.1.1:3301": { "address": "1. 1.1.1:3301", "mode": "R/W", "readReplicas": {}, "role": "HA", "status": "ONLINE" } } }, "groupInformationSourceMember": "mysql://[email protected]:3301" }
При изменении кластера надо будет выполнять на всех нодах локально команду dba.configureLocalInstance() для сохранения изменений:
WARNING: On instance '1.1.1.1:3301' membership change cannot be persisted since MySQL version 5.7.23 does not support the SET PERSIST command (MySQL version >= 8.0.11 required). Please use the <Dba>.configureLocalInstance command locally to persist the changes.
Т.к. мы собираемся добавить еще парочку нод, то не закрываем связь с сервером 1.1.1.1, он нам еще пригодится.
Теперь попробуем добавить в кластер ноду 1.1.1.2. Для этого выполняем на ней все те же команды до 3 шага включительно, не забывая поменять server_id, loose-group_replication_local_address и report_host.
4. Выполняем на 1.1.1.2:
mysql -p > set GLOBAL group_replication_allow_local_disjoint_gtids_join=ON;
Я пытался задавать эту переменную через mysqlsh, переключаясь в режим sql, но действия там никак не влияли на нее в mysql. Далее:
mysqlsh > \c 127.0.0.1:3301 > dba.configureLocalInstance("127.0.0.1:3301", {mycnfPath: "/etc/my.cnf", clusterAdmin: "cladmin", clusterAdminPassword: "SomePassword!123"}) > \c [email protected]:3301 > dba.checkInstanceConfiguration()
5. Возвращаемся к первой ноде 1.1.1.1. Если закрыли соединение, то можно быстро подключиться к кластеру так:
mysqlsh --uri [email protected]:3301 --cluster > \sql > STOP GROUP_REPLICATION; > SET GLOBAL group_replication_ip_whitelist="1.1.1.1,1.1.1.2"; > START GROUP_REPLICATION; > \js > cluster.addInstance('[email protected]:3301', {ipWhitelist: '1.1.1.1,1.1.1.2'}) > cluster.status()
Почему-то при добавлении ноды без опции ipWhitelist он ей не передается автоматически, поэтому указываем вручную.
Если whitelist у вас изначально настроен на все ноды или подсеть, то команды в sql режиме можно пропустить.
Не забываем выполнить dba.configureLocalInstance() на всех нодах для сохранения конфигурации.
Получился кластер их двух нод:
{ "clusterName": "TestCluster", "defaultReplicaSet": { "name": "default", "primary": "1.1.1.1:3301", "ssl": "REQUIRED", "status": "OK_NO_TOLERANCE", "statusText": "Cluster is NOT tolerant to any failures.", "topology": { "1.1.1.1:3301": { "address": "1.1.1.1:3301", "mode": "R/W", "readReplicas": {}, "role": "HA", "status": "ONLINE" }, "1.1.1.2:3301": { "address": "1.1.1.2:3301", "mode": "R/O", "readReplicas": {}, "role": "HA", "status": "ONLINE" } } }, "groupInformationSourceMember": "mysql://cladmin@1. 1.1.1:3301" }
Чтож, кластер из двух нод есть, но в режиме «Cluster is NOT tolerant to any failures.»
Добавим третью, алгоритм в принципе не отличается от добавления второй.
Если вам опять требуется поменять whitelist, то выполнять команды надо на r/w ноде, т.к. на r/o нодах это ни к чему вроде не приводит. При этом r/o ноды отвалятся и их надо будет пересоединить, попутно сообщив новый whitelist.
В нашем случае:
> cluster.rejoinInstance('[email protected]:3301', {ipWhitelist: '1.1.1.1,1.1.1.2,1.1.1.3'})
Ну и опять же не забываем выполнить dba.configureLocalInstance() на всех нодах для сохранения конфигурации.
Кластер из трех нод выглядит так:
{ "clusterName": "TestCluster", "defaultReplicaSet": { "name": "default", "primary": "1.1.1.1:3301", "ssl": "REQUIRED", "status": "OK", "statusText": "Cluster is ONLINE and can tolerate up to ONE failure. ", "topology": { "1.1.1.1:3301": { "address": "1.1.1.1:3301", "mode": "R/W", "readReplicas": {}, "role": "HA", "status": "ONLINE" }, "1.1.1.2:3301": { "address": "1.1.1.2:3301", "mode": "R/O", "readReplicas": {}, "role": "HA", "status": "ONLINE" }, "1.1.1.3:3301": { "address": "1.1.1.3:3301", "mode": "R/O", "readReplicas": {}, "role": "HA", "status": "ONLINE" } } }, "groupInformationSourceMember": "mysql://[email protected]:3301" }
В случае, если кластер развалился до состояния одной ноды, его надо будет запускать с параметром loose-group_replication_bootstrap_group = ON в /etc/my.cnf
После запуска параметр надо будет выключить обратно, иначе эта нода всегда будет отделяться от кластера и поддерживать свой.
Установка mysql-router хорошо описана тут, так что дублировать смысла не вижу.
На этом все вроде все, надеюсь кому-то мой опыт пригодится.
Спасибо за внимание.
Как установить MySQL на CentOS 7: пошаговое руководство
ВПС
30 ноября 2022 г.
Линас Л.
5 минут Чтение
MySQL — одна из наиболее широко используемых систем управления базами данных для веб-сайтов и серверных приложений. Это важный инструмент, который должен изучить каждый веб-мастер. Вот почему в этом руководстве мы покажем вам, как установить MySQL на CentOS 7 через SSH-соединение.
Как установить MySQL на сервер CentOS 7?
Чтобы установить MySQL на CentOS 7, необходимо выполнить три шага: загрузить репозиторий MySQL, установить его и проверить его статус. Мы рассмотрим каждый шаг более подробно.
Важно! Срок службы CentOS Linux 8 истекает 31 декабря 2021 г. Хотя CentOS Linux 7 по-прежнему поддерживается, срок его действия прекратится 30 июня 2024 г. Мы рекомендуем помнить об этом при выборе этой ОС. Подробнее об этом можно прочитать на их официальном сайте.
1. Загрузите и подготовьте репозиторий MySQL
Прежде чем мы начнем учиться устанавливать MySQL, убедитесь, что ваш VPS или выделенный сервер работает на CentOS 7 и у вас есть root-доступ к нему. Вы можете узнать, как подключиться к вашему серверу через SSH, следуя нашему руководству.
- Нам нужно обновить нашу систему, введя следующую команду:
судо-юм обновление
- После обновления системы пришло время загрузить репозитории MySQL. Вы также можете просмотреть другие версии репозитория здесь.
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- В конце загрузки вы должны увидеть подтверждающее сообщение о сохранении файла .rpm .
- Теперь нам нужно подготовить репозиторий, чтобы мы могли позже установить из него пакеты MySQL. Просто введите:
sudo rpm -Uvh mysql80-community-release-el7-3. noarch.rpm
- Когда вывод покажет, что обновление и установка завершены, вы сможете установить MySQL.
2. Установите MySQL
- Используйте следующую команду yum install для установки MySQL:
sudo yum установить mysql-сервер
- Сценарий вернется со списком пакетов и попросит вас подтвердить их загрузку и установку. Введите y и нажмите ENTER для каждого запроса.
- Вам нужно будет сделать это несколько раз, но в итоге вы увидите Complete! Сообщение в конце установки — это означает, что вы успешно установили MySQL на свой сервер.
3. Запустите MySQL и проверьте его состояние
- После того, как MySQL будет готов к использованию CentOS 7, он не запустится автоматически сразу после установки. Поэтому вам нужно запустить его вручную с помощью следующей команды:
sudo systemctl запустить mysqld
- Вы не получите ответа после запуска MySQL, поэтому, чтобы проверить, правильно ли он работает, используйте следующую команду:
статус sudo systemctl mysqld
- Будет выведена информация о процессе MySQL:
Если вы видите, что MySQL активен и работает, как на скриншоте выше, вы успешно установили и запустили MySQL на своем сервере.
Как настроить MySQL?
Теперь, когда вы все настроили, мы собираемся показать вам некоторые полезные команды и настройки, которые вы должны знать при работе с MySQL.
Изменение пароля пользователя root для MySQL
При установке MySQL на CentOS 7 создается временный пароль root. Введите команду ниже, чтобы увидеть это:
sudo grep 'пароль' /var/log/mysqld.log
Чтобы изменить его, выполните следующие действия:
- Во-первых, выполните следующую команду:
судо mysql_secure_installation
- Введите временный пароль, появится следующее сообщение:
Срок действия существующего пароля для учетной записи пользователя root истек. Пожалуйста, установите новый пароль. Новый пароль: Повторно введите новый пароль:
- Теперь введите новый надежный пароль.
Pro Tip
Надежный пароль состоит из 8–12 символов и включает цифры, специальные символы, прописные и строчные буквы.
Проверка текущей версии MySQL
После того, как вы установили MySQL на CentOS 7, вы можете проверить, все ли настроено правильно, проверив его версию. Введите следующую команду:
mysql -u корень -p
Введите пароль root, который вы создали, ответ будет следующим:
Добро пожаловать в монитор MySQL. Команды заканчиваются на ; или \г. Ваш идентификатор соединения MySQL равен 22. Версия сервера: 8.0.20 Copyright (c) 2000, 2020, Oracle и/или ее дочерние компании. Все права защищены. Oracle является зарегистрированным товарным знаком корпорации Oracle и/или ее дочерних компаний. Другие наименования могут быть торговыми марками их владельцев. Введите «помощь»; или '\h' для помощи. Введите '\c', чтобы очистить текущий оператор ввода.
Сброс корневого пароля MySQL
Если вы хотите сбросить свой пароль, процесс довольно прост. Выполните следующие шаги, чтобы изменить пароль root MySQL:
- Остановите сервер MySQL с помощью этой команды:
sudo systemctl остановить mysqld
- Перезапустите MySQL в безопасном режиме или без пароля, введя:
sudo mysqld_safe --skip-grant-tables
- Нажмите ENTER , если сервер MySQL запущен, но кажется, что он завис.
- Используйте следующую команду для повторного подключения к MySQL с правами root:
mysql-urot
- Чтобы изменить пароль root, используйте следующие команды:
ИСПОЛЬЗОВАТЬ MYSQL; UPDATE USER SET PASSWORD=PASSWORD("newpassword") WHERE USER='root'; ПОЛНЫЕ ПРИВИЛЕГИИ; ВЫХОД
- Замените newpassword собственным надежным паролем.
- Наконец, перезапустите MySQL, используя:
sudo systemctl запустить mysqld
- Теперь вы можете войти в MySQL с новым паролем.
Создание нового пользователя MySQL, база данных
Как пользователь root в MySQL, вы имеете полный доступ ко всем базам данных.
Однако, если вы работаете в команде, в некоторых случаях вам может потребоваться применить некоторые ограничения. Вам придется либо создать новую базу данных, либо создать пользователей с индивидуальными разрешениями.
Вот как можно быстро решить эту проблему:
- Используйте следующую команду для создания новой базы данных:
СОЗДАТЬ БАЗУ ДАННЫХ newdb
- Измените newdb на имя базы данных.
- Создайте нового пользователя, введя следующую строку:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ «имя пользователя» @ «localhost», ИДЕНТИФИЦИРОВАННОГО «паролем»
- Измените переменные для имени пользователя и пароля , чтобы создать нового пользователя.
- Если вместо этого вы хотите удалить определенного пользователя, используйте команду:
УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ «имя пользователя» @ «локальный хост»
Управление разрешениями пользователей MySQL
Предоставьте новому пользователю доступ к базе данных, введя:
ПРЕДОСТАВЬТЕ ВСЕ ПРИВИЛЕГИИ НА newdb. * TO 'username'@'localhost'
Вы также можете предоставлять привилегии индивидуально, в том числе:
- SELECT — пользователи могут читать базу данных с помощью команды select
- CREATE — они могут генерировать новые таблицы
- DROP — позволяет пользователям удалять таблицы
- УДАЛИТЬ — пользователи могут удалять строки из таблиц
- INSERT — позволяет пользователям добавлять строки в таблицы
- ОБНОВЛЕНИЕ — разрешить им обновлять строки
- GRANT OPTION — они могут предоставлять или удалять привилегии других пользователей
Например, чтобы предоставить привилегию CREATE , вам нужно ввести:
GRANT CREATE ON newdb.* TO 'username'@'localhost'
С другой стороны, если вы хотите удалить чей-либо доступ, используйте следующее:
ОТМЕНИТЬ разрешение_типа ON newdb. * TO 'username'@'localhost'
Вы также можете проверить, какие текущие привилегии есть у пользователя:
SHOW GRANTS имя пользователя
Наконец, когда вы закончите управлять своими пользователями, рекомендуется сбросить все привилегии с помощью этой команды, чтобы ваши изменения вступили в силу:
FLUSH PRIVILEGES
Другие полезные команды MySQL
MySQL также имеет список других полезных команд. Просто введите \h или help , чтобы просмотреть список, показанный ниже:
Список всех команд MySQL: Обратите внимание, что все текстовые команды должны быть первыми в строке и заканчиваться символом ';' ? (\?) Синоним слова «помощь». clear (\c) Очистить команду. connect (\r) Повторное подключение к серверу. Необязательные аргументы: db и host. разделитель (\d) Установить разделитель оператора. ПРИМЕЧАНИЕ. Принимает оставшуюся часть строки в качестве нового разделителя. edit (\e) Команда редактирования с помощью $EDITOR. ego (\G) Отправить команду на сервер mysql, отобразить результат вертикально. exit (\q) Выйти из mysql. То же, что бросить. go (\g) Отправить команду на сервер mysql. help (\h) Показать эту справку. nopager (\n) Отключение пейджера, вывод на стандартный вывод. noteee (\t) Не записывать во внешний файл. pager (\P) Установите PAGER [to_pager]. Распечатайте результаты запроса через PAGER. print (\p) Распечатать текущую команду. приглашение (\R) Измените приглашение mysql. quit (\q) Выйти из mysql. rehash (\#) Повторное построение хэша завершения. source (\.) Выполнение файла сценария SQL. Принимает имя файла в качестве аргумента. status (\s) Получить информацию о состоянии с сервера. system (\!) Выполнить команду системной оболочки. tee (\T) Установить выходной файл [to_outfile]. Добавить все в данный файл outfile. use (\u) Использовать другую базу данных. В качестве аргумента принимает имя базы данных. charset (\C) Переключиться на другой набор символов. Может понадобиться для обработки бинлога с многобайтовыми кодировками. предупреждения (\W) Показывать предупреждения после каждого оператора. nowarning (\w) Не показывать предупреждения после каждого оператора. Чтобы получить справку на стороне сервера, введите «содержимое справки». mysql>
Заключение
Вы узнали, как установить MySQL на сервер CentOS 7. Установив MySQL, вы сможете хранить свои базы данных и эффективно управлять ими на своем сервере.
Обязательно ознакомьтесь с другими нашими руководствами по хостингу VPS и оставьте комментарий ниже, если у вас есть какие-либо вопросы.
Узнайте больше об управлении базами данных в CentOS
Как установить PostgreSQL в CentOS 7
Как установить PhpMyAdmin в CentOS 7
Линас начинал как агент по работе с клиентами, а сейчас является полнофункциональным веб-разработчиком и руководителем технической группы в Hostinger. Он увлечен тем, что предлагает людям первоклассные технические решения, но, несмотря на то, что ему нравится программировать, он втайне мечтает стать рок-звездой.
Подробнее от Линаса Л.
Как установить MySQL на CentOS 7 {Руководство}
Введение
MySQL — популярное приложение для управления реляционными базами данных с открытым исходным кодом. Он является частью стека LAMP (Linux, Apache, MySQL, PHP), программного стека, на котором работают веб-серверы.
С выпуском CentOS 7 MySQL был исключен из стандартных репозиториев в пользу MariaDB. MariaDB полностью совместима с MySQL и может быть заменена практически без проблем.
Это руководство поможет вам установить MySQL на CentOS 7.
Предварительные требования
- Система под управлением CentOS 7
- Учетная запись пользователя с привилегиями sudo )
- Менеджер пакетов Yum (включен по умолчанию)
Руководство по установке MySQL на CentOS 7
Шаг 1. Загрузка пакетов репозитория
Откройте окно браузера и перейдите по следующему адресу:
https://dev.mysql.com/downloads/repo/yum/
На этой странице перечислены пакеты установки MySQL в репозитории Yum.
Найдите версию Red Hat Enterprise Linux, которую хотите загрузить. (На момент написания статьи веб-сайт предлагал Linux 8, Linux 7 и Linux 6.)
Вы можете нажать кнопку Download , которая приведет вас на страницу регистрации. Вы можете зарегистрироваться, если хотите, или выбрать Нет, спасибо, просто запустите мою ссылку для скачивания .
Скачать MySQL с wget
Command
В качестве альтернативы вы можете открыть терминал и использовать команду wget
для сохранения файла. На веб-странице со списком выпусков вы увидите серый подтекст, который показывает что-то вроде « (mysql80-community-release-el7-1.noarch.rpm) ». Это установочный пакет определенного пакета.
Скопируйте имя нужного пакета установки, затем откройте окно терминала и введите следующую команду:
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch. об/мин
Система должна загрузить файлы. Убедитесь, что вы проверили веб-сайт и скопировали точный идентификатор выпуска — используйте его в своей команде терминала.
Оставьте окно браузера открытым для следующего шага.
Шаг 2: Добавьте репозитории программного обеспечения
Только что загруженные файлы предоставляют доступ к репозиториям программного обеспечения MySQL. Перед их добавлением используйте команду md5sum для аутентификации программного обеспечения:
sudo md5sum mysql80-community-release-el7-3.noarch.rpm
Система должна ответить длинной строкой букв и цифр.
Вернитесь на веб-страницу MySQL и посмотрите чуть ниже ссылки «Загрузить», чтобы найти серую строку чисел, помеченную MD5.
Сравните значение MD5 на веб-странице со значением MD5, сгенерированным в окне терминала. Если они совпадают, переходите к следующему шагу.
Если они не совпадают, возможно, ваша загрузка была повреждена при передаче. Или, возможно, загрузка была скомпрометирована. Повторите шаги 1 и 2 и перезапишите загруженный файл. Если значения MD5 по-прежнему не совпадают, остановите процедуру.
Чтобы обновить репозитории программного обеспечения, используйте команду:
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
Убедитесь, что вы ввели версию выпуска из шага 1. Это добавит 2 новые репозитории Yum, из которых мы можем получить MySQL.
Шаг 3: Установите MySQL
Установите MySQL на CentOS, введя следующее:
sudo yum install mysql-server
Система запросит подтверждение, нажмите Y
для подтверждения.
Он также должен запросить у вас принятие ключа GPG (Gnu Privacy Guard). Это еще одно подтверждение безопасности, потому что мы только что добавили два новых источника программного обеспечения. Нажмите Y
еще раз, и система должна загрузить и установить программное обеспечение.
Примечание: MySQL включает в себя несколько подключаемых модулей безопасности для аутентификации подключений к серверу, проверки пароля и защиты хранилища конфиденциальных данных. Все это доступно в бесплатной версии.
Использование MySQL
Управление службой MySQL
Вам необходимо запустить службу MySQL, введя:
sudo systemctl start mysqld
Чтобы проверить состояние MySQL, используйте команду:
sudo systemctl status mysqld
Система отобразит несколько строк информации о службе MySQL. В строке Active должно отображаться active: (running) . Вы также можете увидеть строку ниже, которая показывает отметку времени запуска службы.
По умолчанию служба MySQL настроена на запуск при запуске.
Чтобы отключить его, вы можете использовать команду disable :
sudo systemctl disable mysqld
Чтобы остановить службу MySQL, используйте команду stop :
sudo systemctl stop my sqld
Найти временный пароль Процедура установки MySQL устанавливает временный пароль по умолчанию.
Используйте команду grep, чтобы найти пароль:
sudo grep «временный пароль» /var/log/mysqld. log
Запишите пароль.
Настройка и защита
Ваша новая установка MySQL поставляется с защитным скриптом, упрощающим защиту конфигураций.
Запустите сценарий с помощью следующей команды терминала:
sudo mysql_secure_installation
Система предложит вам ввести пароль root по умолчанию. Введите пароль, который вы восстановили ранее.
Далее система сообщит вам, что срок действия пароля истек, и предложит ввести новый. Введите новый пароль, запишите его и нажмите Enter.
Система оценит надежность вашего пароля и спросит, хотите ли вы ввести новый, более надежный пароль. Если вас устраивает надежность пароля, нажмите пробел. Чтобы изменить пароль, нажмите Y
.
Сценарий безопасной установки будет продолжен, и вы можете безопасно ответить Y
на остальные запросы, в том числе:
- Удалить анонимных пользователей
- Запретить удаленный вход в систему root
- Удалить тестовую базу данных
- Перезагрузить таблицы привилегий
Войти в MySQL
Чтобы запустить MySQL из командной строки, используйте команду:
mysql -u root -p
Система предложит вам ввести пароль.