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:

 

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3 .noarch.rpm

Язык кода: JavaScript (javascript)

Шаг 2.

Установите MySQL 8 Community Server

Поскольку репозиторий MySQL yum имеет несколько конфигураций репозиториев для нескольких версий MySQL, вам необходимо отключить все репозитории в файле репозитория mysql:

 

sed -i 's/enabled= 1/enabled=0/' /etc/yum.repos.d/mysql-community.repo

Язык кода: JavaScript (javascript)

И выполните следующую команду для установки MySQL 8:

 

yum - -enablerepo=mysql80-community установить mysql-community-server

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

Используйте эту команду для запуска службы mysql:

 

служба mysqld start

Шаг 4. Покажите пароль по умолчанию для

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

 

grep "Временный пароль" /var/log/mysqld.log

Язык кода: JavaScript (javascript)

Вот результат:

 

[Примечание] Для root@localhost создается временный пароль: hjkygMukj5+t783

Обратите внимание, что ваш временный пароль будет другим. Этот пароль понадобится вам для изменения пароля учетной записи пользователя root .

Шаг 5. Безопасная установка MySQL

Выполните команду mysql_secure_installation для защиты сервера MySQL:

 

mysql_secure_installation

Вам будет предложено ввести текущий пароль учетной записи root:

 

Введите пароль для пользователя root:

Введите временный пароль выше и нажмите Enter . Появится следующее сообщение:

 

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

Кодовый язык: PHP (php)

Вам потребуется ввести новый пароль для учетная запись 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)

Вот результат:

 

+--------------------+ | База данных | +--------------------+ | информационная_схема | | MySQL | | представление_схема | | система | +--------------------+ 4 ряда в сете (0,05 сек)

Язык кода: JavaScript (javascript)

В этом руководстве вы шаг за шагом узнали, как установить 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, они будут автоматически установлены, в противном случае вы получите сообщение о том, что НЕТ пакетов, помеченных для обновлений .