Mysql centos 7: Установка и настройка MySQL на CentOS 7
Содержание
Решение проблем с MySQL | FirstVDS
MySQL — система управления базами данных (СУБД). С её помощью можно управлять базами данных (БД) на сервере.
В зависимости от операционной системы, на сервере может быть установлена СУБД MySQL или MariaDB — их функционал сильно похож, и для работы разницы, как правило, нет.
В данной статье рассмотрим, с какими проблемами вы можете столкнуться при работе с MySQL и как их решить.
- Создание базы через ISPmanager
- Раздела «Базы данных» нет в меню
- Не подходит пароль к серверу баз данных
- Где искать ошибки?
- Перечень возможных проблем
- Table ‘./site/content’ is marked as crashed and should be repaired
- mysql_connect() [function.mysql-connect]: Access denied for user ‘user_xxx’@’localhost’ (using password: YES)
- Не удалось подключиться к базе данных
- В панели ISPmanager не удается создать базу данных, ошибка «Недостаточно данных»
- MySQL не запускается ни в сервисах, ни через консоль
- Решение проблем с кодировками MySQL
- Перечень возможных проблем
- Русификация MySQL
Панель управления ISPmanager значительно упрощает управление СУБД и базами данных. На корректно работающем VDS создание базы займет не больше 5 минут.
В левом меню ISPmanager переходим в раздел Базы данных и нажимаем Создать базу данных.
Заполняем необходимые поля: имя БД, владелец БД (должен совпадать с владельцем сайта), сервер БД, кодировка БД, после чего создаем нового пользователя БД (либо выбираем существующего) и задаем пароль. Рекомендуем создавать сложные пароли.
Подробнее о создании Базы данных можно узнать в отдельной статье.
Теперь немного о тех местах, где могут возникнуть сложности.
Раздела «Базы данных» нет в меню
Есть 2 возможных варианта решения проблемы:
1. На сервере не запущен сервер баз данных MySQL
Проверить, активен ли сервис, вы можете в разделе Мониторинг и журналы панели ISPmanager. Попробуйте запустить или перезапустить службу mariadb
(в ОС CentOS и Debian) или mysql
(в ОС Ubuntu) с помощью кнопок в панели.
Если не помогло, перезапустите из консоли командой systemctl restart mysql
для Ubuntu/Debian или командой systemctl restart mariadb
для Centos 7.
2. Проблемы с подключением к базе данных
Перейдите в раздел Серверы БД, двойным кликом откройте свойства и нажмите Сохранить, ничего не меняя. Это принудительно обновит информацию о MySQL в панели управления. После этого обновите страницу — раздел Базы данных должен появиться.
Случается так, что пароль root от MySQL-сервера утерян и надо установить новый. Делается следующим образом:
Останавливаем MySQL-сервер:
В Debian/Ubuntu:
# systemctl stop mysql
В CentOS 7:
# systemctl stop mariadb
или
# systemctl stop mysqld
Запускаем его без проверки таблиц прав:
# mysqld_safe --skip-grant-tables &
Заходим root’ом без пароля:
# mysql -uroot
Меняем пароль:
# use mysql;
MySQL < 5. 7
# UPDATE user SET Password=PASSWORD("new_password") WHERE User='root';
MySQL => 5.7
# UPDATE user SET authentication_string=PASSWORD("new_password") WHERE User='root';
Проверить версию MySQL можно с помощью команды:
# mysql –version
или
# mariadb –version
Продолжаем для всех версий
# FLUSH PRIVILEGES;
В Debian/Ubuntu:
# systemctl restart mysql
В Centos 7:
# systemctl restart mariadb
или
# systemctl restart mysqld
Авторизуемся как root с паролем new_password
# mysql -uroot -p
После вводим новый пароль.
MySQL — свободная реляционная система управления базами данных. Поиск проблем с сервисом лучше всего начинать с изучения логов. Для этого необходимо подключиться на сервер по SSH. Их расположение разнится в зависимости от используемой файловой системы. В конфигурационном файле my.cnf
нужно искать строки log
и log-error
, чтобы определить, где находятся логи. Также можно воспользоваться mysql запросом:
show variables like '%log%';
Если логирование не включено, сделать это можно следующим образом. Зайти в файл:
/etc/my.cnf #Centos /etc/mysql/my.cnf #Debian /etc/mysql/mysql.conf.d/mysql.cnf #Ubuntu
Расположение конфигурационного файла может отличаться в зависимости от дистрибутива или CMS.
И в секцию [mysqld]
добавить строку:
log-error=/var/log/mysql-errors.log
Выйти из файла, выполнить команды:
touch /var/log/mysql-errors.log chown mysql:mysql /var/log/mysql* chmod 640 /var/log/mysql*
Следующая команда включит просмотр созданного лога в режиме реального времени(tail –f) и оставить его в фоне(&) что бы можно было параллельно запускать другие команды:
tail –f /var/log/mysql-errors.log &
Данная команда позволяет проводить действия с БД или сайтов и одновременно смотреть на ошибки в логе. Чтобы остановить команду, нажмите Ctrl+C
.
Перечень возможных проблем
Table ‘./site/content’ is marked as crashed and should be repaired
Такое сообщение может появиться в логах или на сайте. Оно означает, что таблица одной из БД «побилась» и требуется ее восстановление. Необходимо подключится на сервер по SSH, выполнить команду, которая проверит все базы данных на предмет ошибок
mysqlcheck --repair --analyze --optimize --all-databases -u<USER> –p<PASSWORD>
Если эта команда выдаёт ошибку, вставьте ключи раздельно:
mysqlcheck --repair --all-databases -u<USER> –p<PASSWORD> mysqlcheck --analyze --all-databases -u<USER> –p<PASSWORD> mysqlcheck --optimize --all-databases -u<USER> –p<PASSWORD>
где
- <USER> — имя пользователя базы данных или root,
- <PASSWORD> — заменить на пароль пользователя или root от MySQL (его можно посмотреть в ISPmanager — Базы данных — Серверы БД — двойной клик на сервер MySQL для просмотра пароля root (либо Базы данных — двойной клик на нужную базу данных и двойной клик на нужного пользователя).
Либо можно выполнить исправление конкретной базы данных:
mysqlcheck --repair --analyze --optimize <DB> -u<USER> -p<PASSWORD>
где
- <USER> — имя пользователя базы данных или root,
- <PASSWORD> — заменить на пароль пользователя или root от MySQL (его можно посмотреть в ISPmanager — Базы данных — Серверы БД — двойной клик на сервер MySQL для просмотра пароля root (либо Базы данных — двойной клик на нужную базу данных и двойной клик на нужного пользователя),
- <BD> — база данных, которой требуется исправление.
mysql_connect() [function.mysql-connect]: Access denied for user ‘user_xxx’@’localhost’ (using password: YES)
Чаще всего связана с тем, что в настройках сайта указаны не верные данные (логин и/или пароль) для подключения к базе. Вариант решения: посмотреть в админ-панели сайта данные пользователя, пароль и название базы для подключения к базе. Зайти в ISPmanager — Базы данных — кликнуть на базу, затем на пользователя и в графу Пароль поставить пароль из админ-панели.
Может быть обратная ситуация, когда в панели ISPmanager указаны верные данные, а в конфигурационных файлах указаны неверные. В таком случае нужно править конфигурационные файлы, для CMS Bitrix, например, это /bitrix/.settings.php
и/bitrix/php_interface/dbconn.php
.
На сайте ошибка «Не удалось подключиться к базе данных»
В зависимости от используемой CMS эта ошибка может по-разному выглядеть:
Возникла ошибка при подключении сервера баз данных MySQL Can't connect to local MySQL server Error connect to mysql Unable to connect to the database:Could not connect to ...
Подключится на сервер по SSH, выполнить:
systemctl restart mysql #перезапуск MySQL для Ubuntu, Debian systemctl restart mariadb #перезапуск MySQL для Centos 7 ps axuw | grep mysql #Эта команда должна вывести список процессов MySQL. #Если ничего не вывела – значит, MySQL не запустился.
Убедится что в ISPmanager, в разделе Службы лампочка mysql или mariadb горит.
В панели ISPmanager не удается создать базу данных, ошибка «Недостаточно данных»
Это значит у вас в ISPmanager — Серверы БД не создано ни одного сервера баз данных. Для создания нажмите на Серверы БД, далее на Создать сервер. В полях введите название сервера БД (например, MySQL), придумайте имя пользователя и пароль. Также в панели ISPmanager можно установить более 1 СУБД, альтернативные СУБД будут работать в контейнерах Docker.
MySQL не запускается ни в сервисах, ни через консоль
При запуске через консоль ошибки могут быть вида:
cant connect to local mysql server throught socket /var/run/mysqld/mysql.d.sock /etc/init.d/mysql start Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed! /usr/local/etc/rc.d/mysql-server restart mysql not running? (check /var/db/mysql/peroksid.ispvds.com.pid). Starting mysql.
Проверить свободное место на диске:
df –h #общая информация du –hs /* #сколько занимает конкретные папки
Если не осталось места, удалить ненужные файлы.
Частая ситуация, когда логи сайтов разрастаются и места на диске свободного не остается, MySQL не может нормально работать (справедливо и для всех остальных сервисов – apache, exim и т.д.)
Снова пробуем перезапустить MySQL:
systemctl restart mysql #перезапуск MySQL для Ubuntu и Debian systemctl restart mariadb #перезапуск MySQL для Centos 7
Если проблема не со свободным местом, в логах должны появиться записи, похожие на эти:
130929 06:16:05 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql 130929 6:16:05 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead. 130929 6:16:05 [Warning] option 'max_allowed_packet': unsigned value 5824839680 adjusted to 1073741824 Unknown suffix '-' used for variable 'sort_buffer_size' (value '--read_buffer_size=256K') 130929 6:16:05 [Warning] option 'sort_buffer_size': unsigned value 0 adjusted to 32776 130929 6:16:05 [ERROR] /usr/local/libexec/mysqld: Error while setting value '--read_buffer_size=256K' to 'sort_buffer_size' 130929 6:16:05 [ERROR] Aborting
Смотрим записи с меткой [ERROR]. В логе выше ошибка «Error while setting value ‘—read_buffer_size=256K’ to ‘sort_buffer_size’» означает, что в конфиге my.cnf
неверно прописана директива ‘sort_buffer_size. Этот случай приведен только для примера. В каждом конкретном случае лог будет различаться. Ошибки могут быть самые разные. Дальнейшие действия зависят от конкретной ошибки и требуют детального разбирательства.
Решение проблем с кодировками MySQL
Чтобы решить проблему — достаточно понять логику работы. MySQL, начиная с версии 4.1, знает, что такое кодировки и как с ними работать. Если до 4.0 она работала с байтами, то теперь работает с символами.
MySQL написали шведы, поэтому кодировкой по умолчанию (сразу после установки) является latin1, а «сравнение» (последовательность букв, алфавит; влияет на сортировки) — latin1_swedish.
Итак, где кодировки указываются.
1. Кодировка конкретной базы/таблицы/столбца. Это кодировка, в которой MySQL будет хранить данные. Например, если у вас данные в cp1251, то будет большой ошибкой указывать для хранения кодировку latin1. В ней нет соответствий для русских символов, все они будут заменены на вопросы.
Кодировку хранения можно задать, например, так.В терминале открываем MySQL с помощью команды mysql
или mysql -u имя_пользователя -p
, вводим пароль, после чего пишем в консоли MySQL:
create database `имя базы` default charset cp1251;
Если кодировка не указана — будет использовано значение параметра default-character-set
из файла /etc/my. cnf
(либо latin1, если параметра нет). Кстати, именно этот параметр редактирует ISPmanager в свойствах сервера баз данных.
2. Кодировка соединения. Это кодировка, в которой клиент (скрипт пользователя, форум, mysql-клиент и т.д.) общается с MySQL. Когда клиент подсоединяется к серверу, тот ему сообщает значение параметра default-character-set
. Таким образом они договариваются о том, в какой кодировке будут общаться. Кодировку общения можно изменить запросом (его лучше выполнять сразу после соединения с сервером):
set names cp1251
где вместо cp1251 вы можете указать нужную кодировку.
Кстати, множество современных правильных скриптов именно это и делают.
Одна сложность: есть ряд кривых клиентов, которые всего этого не понимают и общаются в какой-то своей кодировке. Персонально для них можно написать в /etc/my.cnf
, секцию [mysqld]
:
[mysqld] set init_connect="set names utf8"
где вместо utf8 вы можете указать нужную кодировку.
Что это означает? Сразу после подсоединения любого клиента, MySQL выполнит запрос set names utf8
, как будто смену кодировки общения запросил сам клиент.
Это всё, что нужно знать для решения любой проблемы с кодировками в MySQL. Осталось несколько уточнений (самое интересное):
phpMyAdmin, mysqldump — обычные клиенты, на них действуют те же самые правила. Одно «но»: на все PHP-скрипты (включая phpMyAdmin) действует default-character-set
из секции [client]
в my.cnf
. Для mysqldump
есть отдельная секция [mysqldump]
. Часто бывает так, что команда mysqldump «не видит» секцию [mysqldump]
, поэтому в случаях, когда необходимо делать дамп БД в определенной кодировке, лучше использовать mysqldump
с параметром --default-character-set=utf8
(вместо utf8 укажите нужную кодировку). ISPmanager прописывает default-character-set
во все секции.
Дамп базы — это обычный набор MySQL-команд. Если вы в самое его начало напишете set names cp1251;
, то эта команда тоже выполнится, и MySQL будет считать, что дальше все данные в дампе идут в кодировке cp1251.
Кодировки в MySQL-командах пишутся без кавычек и без «-» (дефисов). Популярные в России кодировки: utf8, cp866 (DOS), cp1251 (windows-1251), koi8r, utf8mb4.
И, наконец, пара советов:
- Если вы в этом новичок, постарайтесь свести всё к одной кодировке. Пусть у вас дамп и
default-character-set
(напомню, влияет на кодировку хранилища при создании таблиц и на кодировку общения с клиентом) будет в одной кодировке. Это избавит от путаницы и решит 90% проблем. - Если есть возможность — используйте консольную утилиту mysqldump. phpMyAdmin — это дополнительная прослойка, которая лишь добавляет свою путаницу и свои баги.
Чтобы русифицировать базу данных MySQL, не вдаваясь в подробности почему и как, проделайте следующие процедуры:
1. В конфигурационном файле /etc/my. cnf
добавьте следующие строчки:
Под разделом [client]:
default-character-set=cp1251
Под разделом [mysqld]:
character-set-server=cp1251 collation-server=cp1251_general_ci init-connect = "set names cp1251"
2. После этого перезапустите базу MySQL или весь ваш виртуальный сервер (из ISPmanager или консоли).
Как шаг за шагом установить MySQL 8 на CentOS 7
Резюме : в этом руководстве вы шаг за шагом узнаете, как установить MySQL 8 на CentOS 7.
Чтобы установить MySQL 8 на CentOS 7, выполните следующие действия. шаги:
Шаг 1. Настройка репозитория Yum
Выполните следующую команду, чтобы включить репозиторий MySQL yum в CentOS:
Язык кода: JavaScript (javascript)
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3 .noarch.rpm
Шаг 2.
Установите MySQL 8 Community Server
Поскольку репозиторий MySQL yum имеет несколько конфигураций репозиториев для нескольких версий MySQL, вам необходимо отключить все репозитории в файле репозитория mysql:
Язык кода: JavaScript (javascript)
sed -i 's/enabled= 1/enabled=0/' /etc/yum.repos.d/mysql-community.repo
И выполните следующую команду для установки MySQL 8:
yum - -enablerepo=mysql80-community установить mysql-community-server
Шаг 3. Запустите службу MySQL
Используйте эту команду для запуска службы mysql:
служба mysqld start
Шаг 4. Покажите пароль по умолчанию для
4 пользователя root . , учетной записи пользователя root предоставляется временный пароль. Чтобы показать пароль учетной записи пользователя root, используйте следующую команду:
Язык кода: JavaScript (javascript)
grep "Временный пароль" /var/log/mysqld.log
Вот результат:
[Примечание] Для root@localhost создается временный пароль: hjkygMukj5+t783
Обратите внимание, что ваш временный пароль будет другим. Этот пароль понадобится вам для изменения пароля учетной записи пользователя root
.
Шаг 5. Безопасная установка MySQL
Выполните команду mysql_secure_installation для защиты сервера MySQL:
mysql_secure_installation
Вам будет предложено ввести текущий пароль учетной записи root:
Введите пароль для пользователя root:
Введите временный пароль выше и нажмите Enter
. Появится следующее сообщение:
Кодовый язык: PHP (php)
Срок действия существующего пароля для учетной записи пользователя root истек. Пожалуйста, установите новый пароль. Новый пароль: Повторно введите новый пароль:
Вам потребуется ввести новый пароль для учетная запись root
дважды. Будет предложено ответить на некоторые вопросы, рекомендуется набрать yes (y):
Удалить анонимных пользователей? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Запретить удаленный вход в систему root? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Удалить тестовую базу данных и доступ к ней? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Перезагрузить таблицы привилегий сейчас? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y
Шаг 6.
Перезапустите и включите службу MySQL
Use the following command to restart the mysql service:
service mysqld restart
and autostart mysql service on system’s startup:
chkconfig mysqld on
Step 7. Connect to MySQL
Используйте эту команду для подключения к серверу MySQL:
mysql -u root -p
Вам будет предложено ввести пароль пользователя root
. Вы вводите пароль и нажимаете Введите
:
Введите пароль:
Он покажет команду mysql
:
mysql>
Используйте SHOW DATABASES
для отображения всех баз данных на текущем сервере:
6 mysql> 9016;
Язык кода: SQL (язык структурированных запросов) (sql)
Вот результат:
Язык кода: JavaScript (javascript)
+--------------------+ | База данных | +--------------------+ | информационная_схема | | MySQL | | представление_схема | | система | +--------------------+ 4 ряда в сете (0,05 сек)
В этом руководстве вы шаг за шагом узнали, как установить MySQL 8 на CentOS 7.
Было ли это руководство полезным?
Как установить MySQL 8.0 на RHEL/CentOS 8/7 и Fedora 35
MySQL — это бесплатная система управления реляционными базами данных с открытым исходным кодом ( RDBMS ), выпущенная под GNU ( General Public License ). Он используется для запуска нескольких баз данных на любом отдельном сервере, предоставляя многопользовательский доступ к каждой созданной базе данных.
В этой статье описан процесс установки и обновления последней версии MySQL 8.0 на RHEL/CentOS 8/7/6/ и Fedora с использованием репозитория MySQL Yum с помощью утилиты YUM.
Шаг 1: Добавление репозитория MySQL Yum
1. Мы будем использовать официальный репозиторий программного обеспечения MySQL Yum , который предоставит пакеты RPM для установки последней версии сервера MySQL, клиента, утилит MySQL, MySQL Workbench, Connector/ODBC и Connector/Python для RHEL/CentOS 8/7/6/ и Fedora 30-35 .
Важно : Эти инструкции работают только при новой установке MySQL на сервере, если MySQL уже установлен с использованием стороннего RPM-пакета, то я рекомендую вам обновить или заменить установил пакет MySQL с использованием репозитория MySQL Yum ».
Перед обновлением или заменой старого пакета MySQL не забудьте взять все важные резервные копии и файлы конфигурации базы данных, используя наше руководство по резервному копированию баз данных MySQL.
2. Теперь загрузите и добавьте следующий репозиторий MySQL Yum в список репозиториев соответствующей системы дистрибутива Linux, чтобы установить последнюю версию MySQL (т.
--------------- В RHEL/CentOS 8 --------------- # wget https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm
--------------- В RHEL/CentOS 7 --------------- # wget https://repo. mysql.com/mysql80-community-release-el7-1.noarch.rpm
--------------- В RHEL/CentOS 6 --------------- # wget https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm
--------------- В Fedora 35 --------------- # wget https://dev.mysql.com/get/mysql80-community-release-fc35-1.noarch.rpm
--------------- В Fedora 34 --------------- # wget https://dev.mysql.com/get/mysql80-community-release-fc34-1.noarch.rpm
--------------- В Fedora 33 --------------- # wget https://dev.mysql.com/get/mysql80-community-release-fc33-1.noarch.rpm
3. После загрузки пакета для вашей платформы Linux установите загруженный пакет с помощью следующей команды.
--------------- В RHEL/CentOS 8 --------------- # yum localinstall mysql80-community-release-el8-1.noarch.rpm
--------------- В RHEL/CentOS 7 --------------- # yum localinstall mysql80-community-release-el7-1. noarch.rpm
--------------- В RHEL/CentOS 6 --------------- # yum localinstall mysql80-community-release-el6-1.noarch.rpm
--------------- В Fedora 35 --------------- # dnf localinstall mysql80-community-release-fc35-1.noarch.rpm
--------------- В Fedora 34 --------------- # dnf localinstall mysql80-community-release-fc34-1.noarch.rpm
--------------- В Fedora 33 --------------- # yum localinstall mysql80-community-release-fc33-1.noarch.rpm
Приведенная выше команда установки добавляет репозиторий MySQL Yum в список репозиториев системы и загружает ключ GnuPG для проверки целостности пакетов.
4. Вы можете убедиться, что репозиторий MySQL Yum успешно добавлен, используя следующую команду.
# yum репост включен | grep "mysql.*-сообщество.*" # dnf-реполист включен | grep "mysql.*-community. *" [В версиях Fedora ]
Проверка репозитория MySQL Yum
Шаг 2: Установка последней версии MySQL
5. Установите последнюю версию MySQL (в настоящее время 8.0 ), используя следующую команду.
# yum установить mysql-сообщество-сервер # dnf install mysql-community-server [В версиях Fedora ]
Приведенная выше команда устанавливает все необходимые пакеты для сервера MySQL.0004 и mysql-community-libs .
Шаг 3: Установка разных версий MySQL
6. Вы также можете установить разные версии MySQL, используя разные подрепозитории MySQL Community Server. Подрепозиторий для последней серии MySQL (в настоящее время MySQL 8.0 ) активирован по умолчанию, а подрепозитории для всех других версий (например, MySQL серии 5.x) по умолчанию деактивированы.
Чтобы установить определенную версию из определенного подрепозитория, вы можете использовать --включить
или --отключить параметры
с помощью yum-config-manager или dnf config-manager как показано:
# yum-config-manager --disable mysql57-community # yum-config-manager --enable mysql56-community
------------------ Версии Fedora ------------------ # dnf config-manager --disable mysql57-community # dnf config-manager --enable mysql56-community
Шаг 4: Запуск сервера MySQL
7. После успешной установки MySQL пришло время запустить и включить сервер MySQL с помощью следующих команд:
# запуск службы mysqld # systemctl включить mysqld.service
Вы можете проверить состояние сервера MySQL с помощью следующей команды.
# статус systemctl mysqld.service ИЛИ # статус службы mysqld
Это пример вывода запуска MySQL под моей системой CentOS 7.
Перенаправление на /bin/systemctl статус mysqld.service mysqld.service — сервер MySQL Загружено: загружено (/usr/lib/systemd/system/mysqld.service; включено) Активно: активно (работает) с четверга 29 октября 2015 г., 05:15:19 по восточному поясному времени; 4 мин 5 с назад Процесс: 5314 ExecStart=/usr/sbin/mysqld --daemonize $MYSQLD_OPTS (код=выход, статус=0/УСПЕХ) Процесс: 5298 ExecStartPre=/usr/bin/mysqld_pre_systemd (код=выход, статус=0/УСПЕХ) Основной PID: 5317 (mysqld) Группа CG: /system.slice/mysqld.service └─5317 /usr/sbin/mysqld --daemonize 29 октября05:15:19 localhost. localdomain systemd[1]: Запущен сервер MySQL.
Проверьте состояние MySQL
8. Теперь, наконец, проверьте установленную версию MySQL, используя следующую команду.
# mysql --версия mysql версии 8.0.27 для Linux на x86_64 (сервер сообщества MySQL — GPL)
Проверить установленную версию MySQL
Шаг 5: Защита установки MySQL
9. Команда mysql_secure_installation позволяет защитить установку MySQL, выполнив важные настройки, такие как установка пароля root, удаление анонимных пользователей, удаление входа root и скоро.
Примечание : MySQL версии 8.0 или выше создает временный случайный пароль в /var/log/mysqld.log
после установки.
Используйте приведенную ниже команду, чтобы увидеть пароль перед запуском безопасной команды MySQL.
# grep 'временный пароль' /var/log/mysqld.log
Как только вы узнаете пароль, вы можете запустить следующую команду, чтобы защитить вашу установку MySQL.
# mysql_secure_installation
Примечание : Введите новый пароль root означает ваш временный пароль из файла /var/log/mysqld.log
.
Теперь внимательно следуйте инструкциям на экране. Для справки см. вывод приведенной выше команды ниже.
Пример вывода
Защита развертывания сервера MySQL. Введите пароль для пользователя root: Введите новый пароль root VALIDATE PASSWORD PLUGIN можно использовать для проверки паролей. и повысить безопасность. Проверяет надежность пароля и позволяет пользователям устанавливать только те пароли, которые достаточно безопасно. Хотите установить плагин VALIDATE PASSWORD? Нажмите y|Y для Да, любую другую клавишу для Нет: г Существует три уровня политики проверки пароля: НИЗКИЙ Длина >= 8 СРЕДНЯЯ Длина >= 8, цифры, смешанный регистр и специальные символы STRONG Длина >= 8, цифры, смешанный регистр, специальные символы и файл словаря Пожалуйста, введите 0 = НИЗКИЙ, 1 = СРЕДНИЙ и 2 = СИЛЬНЫЙ: 2 Использование существующего пароля для root. Расчетная надежность пароля: 50 Сменить пароль для рута? ((Нажмите y|Y для Да, любую другую клавишу для Нет) : г Новый пароль: Установить новый пароль MySQL Повторно введите новый пароль: Повторно введите новый пароль MySQL Расчетная надежность пароля: 100 Вы хотите продолжить с предоставленным паролем? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y По умолчанию установка MySQL имеет анонимного пользователя, позволяя любому войти в MySQL без необходимости иметь учетная запись пользователя, созданная для них. Это предназначено только для тестирование и сделать установку более плавной. Вы должны удалить их, прежде чем переходить к производству среда. Удалить анонимных пользователей? (Нажмите y|Y для Да, любую другую клавишу для Нет) : г Успех. Обычно пользователю root должно быть позволено подключаться только из «локальный хост». Это гарантирует, что кто-то не сможет угадать пароль root из сети. Запретить удаленный вход в систему root? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Успех. По умолчанию MySQL поставляется с базой данных с именем «test», которая любой может получить доступ. Это также предназначено только для тестирования, и должны быть удалены перед переходом в производство среда. Удалить тестовую базу данных и доступ к ней? (Нажмите y|Y для Да, любую другую клавишу для Нет) : г - Удаление тестовой базы данных... Успех. - Удаление привилегий на тестовой базе данных... Успех. Повторная загрузка таблиц привилегий гарантирует, что все изменения сделанные до сих пор вступят в силу немедленно. Перезагрузить таблицы привилегий сейчас? (Нажмите y|Y для Да, любую другую клавишу для Нет) : y Успех. Все сделано!
Шаг 6: Подключение к серверу MySQL
10. Подключитесь к недавно установленному серверу MySQL, указав имя пользователя и пароль.
# mysql -u root -p
Пример вывода:
Добро пожаловать в монитор MySQL. Команды заканчиваются на ; или \г. Ваш идентификатор подключения к MySQL равен 11. Версия сервера: 8.0.27 Сервер сообщества MySQL — GPL Авторские права (c) 2000, 2021, Oracle и/или ее дочерние компании. Oracle является зарегистрированным товарным знаком корпорации Oracle и/или ее филиалы. Другие названия могут быть товарными знаками соответствующих владельцы. Введите «помощь»; или '\h' для помощи. Введите '\c', чтобы очистить текущий оператор ввода. MySQL>
Шаг 7: Обновление MySQL с помощью Yum
11. Помимо новой установки, вы также можете выполнять обновления для продуктов и компонентов MySQL с помощью следующей команды.
# yum обновить mysql-сервер # dnf update mysql-server [В версиях Fedora ]
Обновление версии MySQL
Когда новые обновления доступны для MySQL, они будут автоматически установлены, в противном случае вы получите сообщение о том, что НЕТ пакетов, помеченных для обновлений .