6 шагов для установки и настройки MariaDB MySQL на CentOS / RedHat

Мы предоставляем услуги удаленного администрирования серверов

6 шагов для установки и настройки MariaDB MySQL на CentOS / RedHat

Поделиться

Начиная с CentOS 7, вы не увидите пакет с именем mysql-server в репозитории yum.

Теперь пакет называется mariadb-сервером.

Оригинальный MySQL теперь принадлежит корпорации Oracle.

Но MariaDB — это форк оригинальной базы данных MySQL. Как и исходный MySQL, MariaDB также является открытым исходным кодом, разработанным сообществом открытого исходного кода, поддерживаемым и поддерживаемым корпорацией MariaDB.

С нашей точки зрения, меняется только название пакета. MariaDB по-прежнему MySQL, и все утилиты командной строки mysql по-прежнему называются одинаково, включая команду mysql.

В этом руководстве подробно объясняется, как установить и настроить MariaDB в дистрибутивах Linux на базе CentOS или RedHat.

1. MariaDB MySQL Packages

Ниже приведены три основных пакета MariaDB:

 

 

  • mariadb-5.5.52-1.el7.x86_64 — содержит несколько клиентских программ и утилит MySQL.
  • mariadb-server-5.5.52-1.el7.x86_64 — это основной сервер базы данных MariaDB MySQL.
  • mariadb-libs-5.5.52-1.el7.x86_64 — содержит общие библиотеки, необходимые для интерфейса программы клиента.

Текущая версия MariaDB-сервера, доступного в репозитории CentOS 7 yum, — 5.5.52, как показано ниже.

# yum info mariadb-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: repos-va.psychz.net
 * extras: linux.cc.lehigh.edu
 * updates: mirror.us.leaseweb.net
Available Packages
Name        : mariadb-server
Arch        : x86_64
Epoch       : 1
Version     : 5.5.52
Release     : 1.el7
Size        : 11 M
Repo        : base/7/x86_64

2. Установите MariaDB MySQL Server

Установите серверный пакет MariaDB MySQL, как показано ниже, используя yum install.

# yum install mariadb-server

В этом случае на этом сервере установлен mariadb-сервер вместе со следующими зависимыми пакетами.

  • mariadb-server.x86_64 1: 5.5.52-1.el7
  • mariadb-libs.x86_64 1: 5.5.52-1.el7
  • mariadb.x86_64 1: 5.5.52-1.el7
  • libaio.x86_64 0: 0.3.109-13.el7
  • perl-DBD-MySQL.x86_64 0: 4.023-5.el7
  • perl-DBI.x86_64 0: 1.627-4.el7
  • perl-Compress-Raw-Bzip2.x86_64 0: 2.061-3.el7
  • perl-Compress-Raw-Zlib.x86_64 1: 2.061-4.el7
  • perl-Data-Dumper.x86_64 0: 2.145-3.el7
  • perl-IO-Compress.noarch 0: 2.061-2.el7
  • perl-Net-Daemon.noarch 0: 0.48-5.el7
  • perl-PlRPC.noarch 0: 0.2020-14.el7

Убедитесь, что на нем установлены три важных пакета mysql MariaDB.

# rpm -qa | grep -i maria
mariadb-5.5.52-1.el7.x86_64
mariadb-server-5.5.52-1.el7.x86_64
mariadb-libs-5.5.52-1.el7.x86_64

 

3. Запуск базы данных MariaDB

Как вы видите ниже, модуль сервера базы данных mariadb загружен, но еще не запущен.

# systemctl status mariadb
? mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Запустите MySQL-сервер MariaDB, используя systemctl, как показано ниже.

  # systemctl start mariadb

Проверьте состояние systemctl и убедитесь, что сервер базы данных mariadb запущен успешно.

# systemctl status mariadb
? mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-06-26 18:26:35 UTC; 13s ago
  Process: 4049 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
  Process: 3969 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 4048 (mysqld_safe)
   CGroup: /system.slice/mariadb.service
           +-4048 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           +-4206 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/ma...

Jun 26 18:26:32 deploy mariadb-prepare-db-dir[3969]: The latest information about MariaDB is available at http://mariadb.org/.
Jun 26 18:26:32 deploy mariadb-prepare-db-dir[3969]: You can find additional information about the MySQL part at:
Jun 26 18:26:32 deploy mariadb-prepare-db-dir[3969]: http://dev.mysql.com
Jun 26 18:26:32 deploy mariadb-prepare-db-dir[3969]: Support MariaDB development by buying support/new features from MariaDB
Jun 26 18:26:32 deploy mariadb-prepare-db-dir[3969]: Corporation Ab. You can contact us about this at sales@mariadb.com.
Jun 26 18:26:32 deploy mariadb-prepare-db-dir[3969]: Alternatively consider joining our community based development effort:
Jun 26 18:26:32 deploy mariadb-prepare-db-dir[3969]: http://mariadb.com/kb/en/contributing-to-the-mariadb-project/
Jun 26 18:26:32 deploy mysqld_safe[4048]: 170601 18:26:32 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Jun 26 18:26:32 deploy mysqld_safe[4048]: 170601 18:26:32 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Jun 26 18:26:35 deploy systemd[1]: Started MariaDB database server.

4. Подключите и проверьте сервер MariaDB

Используйте команду mysql, как показано ниже, чтобы подключиться к базе данных, используя root-пользователя mysql.

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

Следующая команда show database отобразит базы данных mysql по умолчанию.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

5. Выполните шаги после установки MariaDB

Как видно из вышесказанного, по умолчанию при установке не назначается пароль для учетной записи root MySQL.

Чтобы установить пароль пользователя root mysql и выполнить другую настройку безопасности для базы данных, выполните сценарий mysql_secure_installation, как показано ниже.

# /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Поскольку мы запускаем этот сценарий впервые, для root учетной записи mysql не назначен пароль. Итак, нажмите Enter здесь.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

На этом этапе произнесите «y», чтобы назначить пароль для учетной записи root MySQL. Введите пароль после этого.

Обратите внимание, что эта root учетная запись mysql отличается от root учетной записи linux. Итак, здесь мы устанавливаем пароль для root учетной записи mysql, которая не имеет ничего общего с root учетной записью Linux.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

В рамках установки по умолчанию mysql устанавливает анонимного пользователя, который может войти в базу данных без реального пользователя. Итак, мы действительно должны удалить этого пользователя.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Как вы можете себе представить, root учетная запись mysql будет иметь доступ ко всей базе данных mysql. Поэтому важно сохранить это в безопасности. Кроме того, мы должны убедиться, что удаленные клиенты с других серверов не могут подключаться с использованием этой учетной записи root mysql.

Вместо этого, только локальный хост (где установлен сервер MySQL) может подключиться с использованием учетной записи root. Таким образом, мы должны действительно запретить удаленный вход в систему.

Disallow root login remotely? [Y/n] y
 ... Success!

Это тестовая база данных по умолчанию, которую мы должны удалить.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Введите y здесь, чтобы убедиться, что все сделанные нами изменения вступят в силу немедленно.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

6. Подтвердите root доступ MySQL

Теперь, если вы подключитесь к Mysql без пароля root, вы получите следующее сообщение об ошибке «Отказано в доступе».

# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Чтобы указать пароль, используйте параметр -p, как показано ниже. Это предложит пользователю ввести пароль.

# mysql -u root -p
Enter password:

Кроме того, как вы видите ниже из команды show database, тестовая база данных теперь удалена.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

Если вы хотите передать пароль в командной строке mysql, укажите его прямо рядом с параметром -p, как показано ниже.

  # mysql -u root -pMySecurePassword

Примечание. Между -p и паролем нет пробела. Это может вызвать некоторую путаницу, поскольку у нас есть пробел между -u и именем пользователя. Но между -p и паролем нет пробела.

 2019-2020 © linuxadmins all rights reserved

Facebook Twitter Vkontakte