Установка и настройка MySQL на linux centos 8
Подробное руководство по установке, настройке и оптимизации MySQL для linux centos 8
Введение
MySQL - популярная система управления реляционными базами данных. Это руководство поможет установить и настроить MySQL на CentOS 8, включая базовую оптимизацию и решение распространенных проблем.
Требования
- Сервер под управлением CentOS 8
- Минимум 1 ГБ оперативной памяти
- Права суперпользователя (sudo)
- Стабильное интернет-соединение для загрузки пакетов
Установка
Подготовка
Обновите системные пакеты перед установкой:
1sudo dnf update -y
Процесс установки
- Установите MySQL сервер:
1sudo dnf install mysql-server -y
- Запустите службу:
sudo systemctl start mysqld
- Включите автозагрузку:
1sudo systemctl enable mysqld
- Проверьте статус:
sudo systemctl status mysqld
Настройка
- Запустите скрипт начальной настройки безопасности:
1sudo mysql_secure_installation
- Настройте конфигурационный файл:
1sudo vi /etc/my.cnf
Добавьте базовые параметры:
1[mysqld] 2datadir=/var/lib/mysql 3socket=/var/lib/mysql/mysql.sock 4character-set-server=utf8mb4 5collation-server=utf8mb4_unicode_ci
- Перезагрузите службу:
sudo systemctl restart mysqld
Типичные ошибки и их решения
Ошибка доступа
ERROR 1045 (28000): Access denied
Решение: Сбросьте пароль root:
1sudo mysqladmin -u root password 'new-password'
Проблема с сокетом
Can't connect to local MySQL server through socket
Решение: Проверьте статус службы и права доступа к файлу сокета
Заключение
Теперь у вас установлен и настроен MySQL сервер. Для дальнейшей оптимизации рассмотрите:
- Настройку репликации
- Регулярное резервное копирование
- Мониторинг производительности
Команды
Установка MySQL сервера
1sudo dnf install mysql-server -y
Запуск службы
sudo systemctl start mysqld
Настройка безопасности
1sudo mysql_secure_installation
Решение проблем
Служба MySQL не запускается
Проверьте логи ошибок: journalctl -u mysqld
1sudo journalctl -u mysqld
Не удается подключиться к серверу
Проверьте открыт ли порт 3306 и настройки брандмауэра
sudo firewall-cmd --list-all