Показать статистику
0 голосов
от (2.5тыс. баллов)
515 просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)
редактировать от

MariaDB - замена для сервера базы данных MySQL. Это означает, что в большинстве случаев вы можете просто удалить MySQL и установить MariaDB, и все готово.

Почему выбирают MariaDB?

О нем можно сказать, что он является открытой версией MySQL
Принцип его работы такой же, как MySQL и  имеется совместимость со всеми настройками MySQL
Дистрибутивы семейства Redhat переходят по желанию на  MariaDB 

Теперь рассмотрим как установить или обновить MariaDB 10.3.10 [стабильный] или же 10.2.18 [стабильный] для Fedora 29 и ниже, а также для CentOS 7.5 / 6.10 и Red Hat  7.5 / 6.10 . Установка MariaDB - это почти тот же процесс, что и установка MySQL .

Если вы переходите с MySQL, убедитесь, что вы создали резервную копию (дамп и копирование) своей базы данных и конфигураций. При обновлении с более ранних версий запомните команду mysql_upgrade. И если вы удалите MySQL, то не забудьте восстановить /etc/my.cnf после установки, например:


mv -vi /etc/my.cnf.rpmsave /etc/my.cnf

Установить MariaDB / MariaDB-сервер
Сменить пользователя root 

su -

или 

sudo -i

Установите репозиторий MariaDB

Вы можете получить файл репозитория https://downloads.mariadb.org/mariadb/repositories/#mirror=coreix dnf / yum с помощью инструмента настройки репозитория MariaDB .

Fedora 29


На данный момент пользователи Fedora 29 могут установить 10.3, а пользователи Fedora 28/27 могут установить MariaDB 10.2 и не требовать дополнительных репо или использовать репозитории MariaDB для установки версий MariaDB 10.4 / 10.3 (или разработки) или Galera Cluster.

Обновите или установите MariaDB

Fedora 

dnf install mariadb mariadb-server

CentOS или Red Hat (а также и Fedora с использованием репозиториев MariaDB)

yum install MariaDB MariaDB-server

Запустите сервер MariaDB и автоматически запустите MariaDB при загрузке.
Fedora и RHEL и  CentOS

systemctl start mariadb.service ## use restart after update
systemctl enable mariadb.service

Red Hat 6.10 и CentOS 6.10 

service mysql start ## use restart after update

или 

/etc/init.d/mysql start ## use restart after update
chkconfig --levels 235 mysql on

MariaDB  Безопасная установка

  • Установим или изменим пароль root
  • Затем удалим анонимных пользователей
  • После этого поставим запрет на root-вход удаленно
  • После чего произведем удаление тестовой базы данныхЮ, а затем получим доступ к ней
  • На завершающем этапе произведем обновление таблицы привилегий

Запустите безопасную установку MariaDB (MySQL) с помощью следующей команды 

/usr/bin/mysql_secure_installation

Получаете такой вот выход:


Если вам не нужна причина, выполните «Безопасную установку MySQL», тогда, по крайней мере, очень важно изменить пароль пользователя root.

mysqladmin -u root password [your_password_here]

Произведите подключение к базе данных MySQL (localhost) введя пароль 

mysql -u root -p

или можно так вот 

mysql -h localhost -u root -p

Создайте базу данных, создайте пользователя MySQL и включите удаленные подключения к базе данных MySQL.
В этом примере используются следующие параметры:
 

DB_NAME = webdb
Имя пользователя = webdb_user
REMOTE_IP = 10.0.15.25
ПАРОЛЬ = пароль123
РАЗРЕШЕНИЯ = ВСЕ


Включить удаленное подключение к серверу MariaDB -> Открыть порт MySQL (3306) на Iptables Firewall (снова как пользователь root)
На Red hat 6.10, а также на Centos выполните редактирование файла /etc/sysconfig/iptables: 

nano -w /etc/sysconfig/iptables

Добавьте следующее правило INPUT: 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

Перезапустите Iptables Firewall: 

service iptables restart

или же выполнить таким образом 

/etc/init.d/iptables restart

Fedora , а также RHEL 7,5 и Centos:

Перечислите свои активные зоны Firewalld 

firewall-cmd --get-active-zones

Пример вывода: 

Добавить новое правило в Firewalld 

У вас может быть активная зона, такая как public, FedoraWorkstation, FedoraServer. 

firewall-cmd --permanent --zone=public --add-service=mysql

или 

firewall-cmd --permanent --zone=public --add-port=3306/tcp

Перезапустите firewalld.service

systemctl restart firewalld.service

Протестируйте удаленное соединение 

mysql -h 10.0.15.25 -u myusername -p
...