MariaDB – форк от MySQL, с улучшенной производительностью и новыми возможностями.
Больше подробностей можно получить на официальном сайте.
Установка выполняется на:
# cat /etc/redhat-release CentOS release 6.5 (Final)
# uname -p x86_64
Добавляем репозиторий.
Получить код для файла описания репозитория под конкретную ОС и архитектуру можно тут>>>.
В файл /etc/yum.repos.d/MariaDB.repo
вписываем:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 priority=1 #enabled=0
Удаляем всё, что связано с MySQL (будьте внимательны при удалении – в зависимостях может потянуть, например, Postfix):
# yum remove mysql* mysql-server mysql-devel mysql-libs
Устанавливаем MariaDB:
# yum install MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared ... Installed: MariaDB-client.i386 0:5.5.39-1 MariaDB-server.i386 0:5.5.39-1 Dependency Installed: MariaDB-common.i386 0:5.5.39-1 openssl098e.i686 0:0.9.8e-18.el6_5.2 Complete!
При необходимости – YUM при установке MariaDB заменит пакеты MySQL сам, но лучше их всё-таки удалить перед установкой:
MariaDB-shared x86_64 5.5.42-1.el6 mariadb 1.1 M replacing mysql-libs.x86_64 5.5.39-1.el6.remi
Запускаем:
# service mysql start Starting MySQL...... SUCCESS!
Добавляем в автозагрузку:
# chkconfig mysql on # chkconfig --list | grep mysql mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Выполняем первоначальную настройку:
# /usr/bin/mysql_secure_installation ... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! ... Remove anonymous users? [Y/n] y ... Success! ... 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! ... 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 -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 12 Server version: 5.5.39-MariaDB MariaDB Server Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec)
Готово.
Быстрое сравнение производительности MySQL и MariaDB
Сравнение выполняется с помощью mysqlslap
. Подбробнее – в статье MySQL: mysqlslap — нагрузочное тестирование.
Для сравнения – используются две одинаковых виртаульных маншины под управлением CentOS 6.5.
На одной установлен:
# yum list installed | grep mysql-server mysql-server.i686 5.5.38-1.el6.remi @remi
На второй:
# yum list installed | grep MariaDB-server MariaDB-server.i386 5.5.39-1 @mariadb
Обе не содержат никаких пользовательских баз:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | mysqlslap | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | mysqlslap | | performance_schema | +--------------------+ 4 rows in set (0.00 sec)
База mysqlslap
будет использоваться для тестирования.
MySQL работает со стандартным файлом конфигурации:
# head -n 1 /etc/my.cnf # Example MySQL config file for small systems.
Выполняем то же для MariaDB:
# rm /etc/my.cnf # cp /usr/share/mysql/my-small.cnf /etc/ # service mysql restart Shutting down MySQL.. SUCCESS! Starting MySQL..... SUCCESS!
Выполняем на MySQL:
# mysqlslap -u root -p --auto-generate-sql --concurrency 10 --number-of-queries 100 --number-char-cols=5 --number-int-cols=10 Enter password: Benchmark Average number of seconds to run all queries: 0.550 seconds Minimum number of seconds to run all queries: 0.550 seconds Maximum number of seconds to run all queries: 0.550 seconds Number of clients running queries: 10 Average number of queries per client: 10
И на MariaDB:
# mysqlslap -u root -p --auto-generate-sql --concurrency 10 --number-of-queries 100 --number-char-cols=5 --number-int-cols=10 Enter password: Benchmark Average number of seconds to run all queries: 0.213 seconds Minimum number of seconds to run all queries: 0.213 seconds Maximum number of seconds to run all queries: 0.213 seconds Number of clients running queries: 10 Average number of queries per client: 10