Поиск по сайту:

Установите MariaDB 10.0 на CentOS 6.


На этой странице

  1. Предпосылки
  2. Настройка репозитория MariaDB
  3. Шаг 2. Установка MariaDB 10 с помощью Yum
    1. Удаление MySQL (только если она установлена)
    2. Установите MariaDB 10

    MariaDB – это форк MySQL, разработанный сообществом, который призван стать его улучшенной и простой заменой. Он находится под лицензией GNU GPL и возглавляется первоначальными разработчиками MySQL, такими как Монти Видениус. Сейчас MariaDB кажется активной, но ее доля на рынке гораздо меньше, чем у MySQL. Из-за большого импульса, который имела MySQL, вокруг нее по-прежнему много сообщества, но есть четкая тенденция, что большинство новых действий в мире открытого исходного кода вращаются вокруг MariaDB, и большинство дистрибутивов Linux теперь поставляются с MariaDB в качестве базы данных, совместимой с MySQL. Следующее руководство проведет вас через шаги по установке MariaDB 10.0 на CentOS 6. CentOS 6 слишком старая? Да, это правда, но CentOS 6 по-прежнему поддерживается до 2020 года с обновлениями безопасности, и есть еще много серверов, которые используют его, но может потребоваться более новая база данных, совместимая с MySQL, например. для размещения новейших систем CMS.

    Предпосылки

    1. Эти инструкции предназначены для установки MariaDB 10.0 на одном узле CentOS 6 (без уже установленной MySQL).
    2. Поскольку установка MariaDB по умолчанию использует каталог /var/lib/mysql для хранения ваших баз данных, имейте в виду, что разделу или логическому тому, связанному с /var, требуется достаточно места.
    3. Резервное копирование файла конфигурации (только для замены). Аналогично, рекомендуется сделать копию текущего файла конфигурации MySQL/MariaDB, если вы заменяете текущую установку; этот файл можно найти в /etc/mysql/my.cnf в системах Debian/Ubuntu и /etc/my.cnf в системах CentOS. В CentOS пакет MariaDB удалит файл конфигурации при удалении, поэтому этот шаг особенно важен в этих системах.
    4. В оставшейся части этого руководства предполагается, что вы подключены к серверу с помощью учетной записи пользователя root или учетной записи пользователя с привилегиями sudo. Чтобы войти в корневую оболочку из другой учетной записи, запустите:

    sudo su

    Шаг 1. Настройка репозитория MariaDB

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

    yum -y update
    Loaded plugins: fastestmirror
    base | 3.6 kB 00:00
    extras | 3.4 kB 00:00
    updates | 3.4 kB 00:00
    (1/4): base/7/x86_64/group_gz | 155 kB 00:00
    (2/4): extras/7/x86_64/primary_db | 101 kB 00:00
    (3/4): updates/7/x86_64/primary_db | 3.1 MB 00:00
    (4/4): base/7/x86_64/primary_db | 5.3 MB 00:04
    Determining fastest mirrors
    * base: mirror.net.cen.ct.gov
    * extras: mirror.es.its.nyu.edu
    * updates: mirror.atlanticmetro.net
    Resolving Dependencies
    --> Running transaction check
    ---> Package openssl.x86_64 1:1.0.1e-51.el7_2.2 will be updated
    ---> Package openssl.x86_64 1:1.0.1e-51.el7_2.4 will be an update
    ---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.2 will be updated
    ---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 will be an update
    --> Finished Dependency Resolution
    Dependencies Resolved
    ================================================================================
    Package Arch Version Repository Size
    ================================================================================
    Updating:
    openssl x86_64 1:1.0.1e-51.el7_2.4 updates 711 k
    openssl-libs x86_64 1:1.0.1e-51.el7_2.4 updates 951 k
    Transaction Summary
    ================================================================================
    Upgrade 2 Packages
    Total download size: 1.6 M
    Downloading packages:
    Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    (1/2): openssl-1.0.1e-51.el7_2.4.x86_64.rpm | 711 kB 00:00
    (2/2): openssl-libs-1.0.1e-51.el7_2.4.x86_64.rpm | 951 kB 00:00
    --------------------------------------------------------------------------------
    Total 2.3 MB/s | 1.6 MB 00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Updating : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4
    Updating : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4
    Cleanup : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4
    Cleanup : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4
    Verifying : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4
    Verifying : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4
    Verifying : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4
    Verifying : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4
    Updated:
    openssl.x86_64 1:1.0.1e-51.el7_2.4 openssl-libs.x86_64 1:1.0.1e-51.el7_2.4
    Complete!

    Теперь добавьте репозиторий MariaDB CentOS.

    Создайте новый файл репозитория MariaDB /etc/yum.repos.d/mariadb.repo с помощью nano:

    nano /etc/yum.repos.d/MariaDB.repo

    И вставьте следующий текст для CentOS-6 32 Bit:

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.0/centos6-x86
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

    Или вставьте этот текст для CentOS-6 64 Bit:

    name = MariaDB
    baseurl = http://yum.mariadb.org/10.0/centos6-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

    Затем выйдите и сохраните файл, нажав Ctrl+X, затем Y.

    Как вы видите в приведенном выше примере, он включает строку gpgkey для автоматического получения ключа GPG, который MariaDB использует для подписи репозиториев. Этот ключ необходим для проверки целостности загрузок пакетов.

    Примечание. Чтобы определить, какой репозиторий следует использовать с генератором репозитория MariaDB.

    Шаг 2. Установка MariaDB 10 с помощью Yum

    Удаление MySQL (только когда она установлена)

    Я рекомендую полностью удалить все старые версии сервера MySQL, которые могут быть установлены в системе, а затем выполнить обновление до MariaDB без конфликтов.

    Чтобы проверить, установлен ли уже MySQL, выполните команду:

    rpm -qa 'mysql*'

    При необходимости вы можете удалить найденные пакеты MySQL перед установкой MariaDB, используя следующие команды:

    yum list installed | grep mysql
    yum remove mysql-client mysql-server mysql-common mysql-devel

    И удалите базы данных MySQL:

    rm -Rf /var/lib/mysql

    Установите МариаБД 10

    Для стандартной установки сервера вам потребуется загрузить и установить как минимум RPM-файлы клиент, общий и сервер.

    yum install MariaDB-server MariaDB-client -y

    Вы должны увидеть вывод, подобный следующему:

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirror.net.cen.ct.gov
    * extras: mirror.es.its.nyu.edu
    * updates: mirror.atlanticmetro.net
    Resolving Dependencies
    --> Running transaction check
    ---> Package mariadb.x86_64 1:5.5.44-2.el7.centos will be installed
    --> Processing Dependency: perl(Sys::Hostname) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(IPC::Open3) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Getopt::Long) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(File::Temp) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Fcntl) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Exporter) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: /usr/bin/perl for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
    ---> Package mariadb-server.x86_64 1:5.5.44-2.el7.centos will be installed
    --> Processing Dependency: perl-DBI for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(File::Path) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(Data::Dumper) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: perl(DBI) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    --> Processing Dependency: libaio.so.1()(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
    [...]
    Installed:
    mariadb.x86_64 1:5.5.44-2.el7.centos mariadb-server.x86_64 1:5.5.44-2.el7.centos
    Dependency Installed:
    libaio.x86_64 0:0.3.109-13.el7 perl.x86_64 4:5.16.3-286.el7
    perl-Carp.noarch 0:1.26-244.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
    perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBD-MySQL.x86_64 0:4.023-5.el7
    perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7
    perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7
    perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7
    perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-2.el7
    perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7
    perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PathTools.x86_64 0:3.40-5.el7
    perl-PlRPC.noarch 0:0.2020-14.el7 perl-Pod-Escapes.noarch 1:1.04-286.el7
    perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7
    perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
    perl-Socket.x86_64 0:2.010-3.el7 perl-Storable.x86_64 0:2.45-3.el7
    perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7
    perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7
    perl-libs.x86_64 4:5.16.3-286.el7 perl-macros.x86_64 4:5.16.3-286.el7
    perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7
    perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7
    Complete!

    Когда процесс установки будет завершен, вы можете запустить MariaDB. Обратите внимание, что служба MariaDB называется \mysql\, поэтому приведенная ниже команда не является опечаткой.

    service mysql start
    Starting MySQL. SUCCESS!

    Запустите эту команду, чтобы запускать MariaDB при каждой загрузке.

    chkconfig mysql on

    Вы можете проверить версию установки MariaDB с помощью следующей команды:

    mysql -V
    mysql Ver 15.1 Distrib 10.0.24-MariaDB, for Linux (x86_64) using readline 5.1

    Все идет нормально!

    Шаг 3 — Защита MariaDB

    По умолчанию MariaDB не защищен. Вы можете защитить MariaDB с помощью скрипта mysql_secure_installation. Вы должны внимательно прочитать приведенные ниже шаги, они будут устанавливать пароль root, удалять анонимных пользователей, запрещать удаленный вход в систему root, а также удалять тестовую базу данных и доступ к защищенной базе данных MariaDB. Рекомендуется, чтобы все администраторы запускали этот сценарий, чтобы убедиться, что ваша установка MySQL безопасна. К сожалению, сценарий является интерактивным и запрашивает пароль root, поэтому его нельзя легко включить в процесс сборки. На эти варианты рекомендуется ответить yes. Подробнее о скрипте можно прочитать в базе знаний MariaDB.

    Вызвать mysql_secure_installation без аргументов:

    mysql_secure_installation

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

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

    Для того, чтобы войти в MariaDB и защитить его, нужен текущий пароль для пользователя root. Если вы только что установили MariaDB и еще не установили пароль root, пароль по умолчанию будет пустым, поэтому вам нужно просто нажать здесь Enter.

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

    Установка пароля root гарантирует, что никто не сможет войти в систему root-пользователя MariaDB без надлежащей авторизации.

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

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

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

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

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

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

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

    Повторная загрузка таблиц привилегий гарантирует, что все сделанные до сих пор изменения вступят в силу немедленно.

    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!

    Теперь вам нужно перезапустить MariaDB.

    service mysql restart
    Shutting down MySQL.. SUCCESS!
    Starting MySQL. SUCCESS!

    Вот и все. Войдите на сервер MariaDB и проверьте старые базы данных и таблицы (если вы обновились с MySQL).

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

    mysql -u root -p

    В этом случае я указал пользователя root с флагом -u, а затем использовал флаг -p, чтобы MySQL запрашивал пароль.

    При появлении запроса вы просто вводите пароль, назначенный с помощью скрипта mysql_secure_installation .

    Затем вам будет представлен приветственный заголовок и приглашение MariaDB.

    Чтобы получить список команд MariaDB, введите help или \h в командной строке:

    General information about MariaDB can be found at
    http://mariadb.org
    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ? (\?) Synonym for `help'.
    clear (\c) Clear the current input statement.
    connect (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter.
    edit (\e) Edit command with $EDITOR.
    ego (\G) Send command to mysql server, display result vertically.
    exit (\q) Exit mysql. Same as quit.
    go (\g) Send command to mysql server.
    help (\h) Display this help.
    nopager (\n) Disable pager, print to stdout.
    notee (\t) Don't write into outfile.
    pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
    print (\p) Print current command.
    prompt (\R) Change your mysql prompt.
    quit (\q) Quit mysql.
    rehash (\#) Rebuild completion hash.
    source (\.) Execute an SQL script file. Takes a file name as an argument.
    status (\s) Get status information from the server.
    system (\!) Execute a system shell command.
    tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
    use (\u) Use another database. Takes database name as argument.
    charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
    warnings (\W) Show warnings after every statement.
    nowarning (\w) Don't show warnings after every statement.
    For server side help, type 'help contents'

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

    SHOW DATABASES;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    +--------------------+
    4 rows in set (0.01 sec)

    Базы данных \information_schema\, \performance_schema\ и \mysql\ настроены по умолчанию и содержат системные данные сервера MariaDB, эти таблицы следует оставить в покое, если вы не знаете, что делаете.

    Проверьте состояние сервера базы данных:

    status;
    mysql Ver 15.1 Distrib 5.5.44-MariaDB, for Linux (x86_64) using readline 5.1
    Connection id: 14
    Current database:
    Current user:
    SSL: Not in use
    Current pager: stdout
    Using outfile: ''
    Using delimiter: ;
    Server: MariaDB
    Server version: 5.5.44-MariaDB MariaDB Server
    Protocol version: 10
    Connection: Localhost via UNIX socket
    Server characterset: latin1
    Db characterset: latin1
    Client characterset: utf8
    Conn. characterset: utf8
    UNIX socket: /var/lib/mysql/mysql.sock
    Uptime: 47 min 9 sec
    Threads: 1 Questions: 32 Slow queries: 0 Opens: 4 Flush tables: 2 Open tables: 30 Queries per second avg: 0.011
    --------------
    MariaDB [(none)]>

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

    USE howtoforge

    Ваша база данных должна быть создана только один раз, но вы должны выбирать ее для использования каждый раз, когда вы начинаете сеанс MySQL. Вы можете сделать это, введя оператор USE, как показано в примере. Кроме того, вы можете выбрать базу данных в командной строке при вызове MySQL. Просто укажите его имя после любых параметров подключения, которые вам могут понадобиться. Например:

    mysql -h host -u user -p howtoforge

    ПРИМЕЧАНИЕ. Все имена баз данных, имена таблиц и имена полей таблиц чувствительны к регистру. Таким образом, вам придется использовать собственные имена при вводе любой команды SQL.

    По умолчанию все операции MySQL, выполняемые через командную строку, выполняются в текущей выбранной базе данных. Какая база данных выбрана в данный момент? Чтобы узнать, выполните следующую команду:

    SELECT database();

    Ваш результат может быть похож на этот:

    +------------+
    | database() |
    +------------+
    | NULL |
    +------------+
    1 row in set (0.00 sec)
    MariaDB [(none)]>

    Результат нулевой, что означает, что база данных в данный момент не выбрана.

    Больше информации, чтобы следовать

    Вы можете обратиться к следующим ресурсам для получения дополнительной информации по этой теме. Хотя они предоставляются в надежде на то, что они будут полезны, обратите внимание, что мы не можем ручаться за точность или своевременность материалов, размещенных на внешних серверах.

    • Документация по MariaDB
    • Справочное руководство по MySQL