Начиная с CentOS 7, вы не увидите пакет с именем mysql-server в репозитории yum.
Теперь пакет называется mariadb-сервером.
Оригинальный MySQL теперь принадлежит корпорации Oracle.
Но MariaDB — это форк оригинальной базы данных MySQL. Как и исходный MySQL, MariaDB также является открытым исходным кодом, разработанным сообществом открытого исходного кода, поддерживаемым и поддерживаемым корпорацией MariaDB.
С нашей точки зрения, меняется только название пакета. MariaDB по-прежнему MySQL, и все утилиты командной строки mysql по-прежнему называются одинаково, включая команду mysql.
В этом руководстве подробно объясняется, как установить и настроить MariaDB в дистрибутивах Linux на базе CentOS или RedHat.
Ниже приведены три основных пакета MariaDB:
Текущая версия 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
Установите серверный пакет MariaDB MySQL, как показано ниже, используя yum install.
# yum install mariadb-server
В этом случае на этом сервере установлен mariadb-сервер вместе со следующими зависимыми пакетами.
Убедитесь, что на нем установлены три важных пакета 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
Как вы видите ниже, модуль сервера базы данных 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 [email protected] 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.
Используйте команду 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 | +--------------------+
Как видно из вышесказанного, по умолчанию при установке не назначается пароль для учетной записи 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!
Теперь, если вы подключитесь к 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 и паролем нет пробела.
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies