Установка MariaDB на Debian
Сейчас расскажу как установить MariaDB на Debian. Так же расскажу как ею пользоваться в своей теме «Установка MariaDB на Debian» все это будет подробно описано.
MariaDB является лёгкой заменой MySQL. MariaDB является аналогом MySQL и она стремится быть лучшим выбором для специалистов по базам данных, которые ищут надежный, масштабируемый SQL Server. Это руководство поможет начинающим установить и понять суть работы MariaDB на Debian 7 и 6. Для достижения этой цели, MariaDB Foundation тесно сотрудничает и совместно работает с большим сообществом пользователей и разработчиков в истинном духе свободного и открытого программного обеспечения, и выпускает ПО таким образом, чтобы оно было с высокой надежностью.
Толчком к созданию стала необходимость обеспечения свободного статуса СУБД (под лицензией GPL), в противовес неопределенной политике лицензирования MySQL компанией Oracle. Ведущий разработчик — Майкл Видениус, автор оригинальной версии MySQL и основатель компании Monty Program AB.
В MariaDB произошел отказ от подсистемы хранения данных InnoDB и его замена на XtraDB. Также включены подсистемы Aria (en:Aria (storage engine)), PBXT и FederateX.
Для начала, обновим ОС ( чтобы было все самое новое):
# apt-get update # apt-get upgrade
Устанавливаем дополнения к питону:
# sudo apt-get install python-software-properties
Установка MariaDB
Во-первых, нужно импортировать ключ GPG, для того что бы APT проверил целостность пакетов и загрузил все:
# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
Создаем собственный MariaDB файл sources.list чтобы добавить репозиторий в него:
# vim /etc/apt/sources.list
Установка MariaDB 5.5 для Debian 7 wheezy
# MariaDB 5.5 repository list - created 2014-11-15 17:08 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main deb-src http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main
Установка MariaDB 5.5 для Debian 6 squeeze
# MariaDB 5.5 repository list - created 2014-11-15 17:14 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian squeeze main deb-src http://mirror.23media.de/mariadb/repo/5.5/debian squeeze main
Установка MariaDB 10.0 для Debian 7 wheezy
# MariaDB 10.0 repository list - created 2014-11-15 17:21 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main deb-src http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main
Установка MariaDB 10.0 для Debian 6 squeeze
# MariaDB 10.0 repository list - created 2014-11-15 17:22 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian squeeze main deb-src http://mirror.23media.de/mariadb/repo/10.0/debian squeeze main
Установка MariaDB 10.1 для Debian 7 wheezy
# MariaDB 10.1 repository list - created 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main deb-src http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main
Установка MariaDB 10.1 для Debian 6 squeeze
# MariaDB 10.1 repository list - created 2014-11-15 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian squeeze main deb-src http://mirror.23media.de/mariadb/repo/10.1/debian squeeze main
После этого, обновляем систему ( список всех репозиторией) и устанавливаем сервер с MariaDB:
# sudo apt-get update # sudo apt-get install mariadb-server
После чего начнется установка сервера MariaDB. Я выбрал 10.0 версию и по этому, приведу пример установки. В ходе установки, вас попросят ввесли пароль для MariaDB пользователя — root.
Вводим пароль и нажимаем OK. Так же нужно ввести 2-й раз ( подтверждение). Процесс установки займет пару минут.
Использование MariaDB
В этом разделе вы узнаете, как подключиться к MariaDB и как пользоваться основными командами SQL.
Стандартный инструмент для взаимодействия с MariaDB является программа-клиент MySQL. Для начала, выполните следующую команду для подключения к MariaDB в качестве пользователя root:
# mysql -u root -p
Вводим пароль, тот который Вы вводили ( создали) при установке.
Давайте попробуем создать простую базу данных, которую мы позже будем заполнения данными. Введите следующие команды, чтобы создать базу данных с именем TEST_DB, владельцем которого будет являться новый пользователь Test_User, так же командой установим пароль secret_password для пользователя:
MariaDB [(none)]> CREATE DATABASE test_db; MariaDB [(none)]> GRANT ALL PRIVILEGES ON test_db.* TO test_user@localhost IDENTIFIED BY 'secret_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit
Последняя строка (команда) выходит из пользователя root на MariaDB. И сейчас войдем как пользователь test_user:
# mysql -u testuser -p
Введем команду для того чтобы использовать только что созданную БД (test_db):
MariaDB [(none)]> USE test_db;
Создайте новую таблицу и заполните ее некоторым данным:
MariaDB [(none)]> CREATE TABLE products (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), price DECIMAL(6,2)); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ('MacBook_Pro', 3200.0); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ('Asus', 340.0); MariaDB [(none)]> INSERT INTO products (name, price) VALUES ('HP', 745.0);
Убедитесь, что новые данные нормально вставлены:
MariaDB [(none)]> SELECT * FROM products;
Выйдите из клиента MariaDB выполнив:
MariaDB [(none)]> quit
Для получения дополнительной информации о командах SQL выполните:
MariaDB [(none)]> \h
Настройка MariaDB
Чтобы настроить MariaDB нужно отредактировать файл с конфигурацией. Этот файл контролирует большую часть системных переменных сервера, которые вы, как правило, оставлены по умолчанию.
# vim /etc/mysql/my.cnf
перезапустите сервер, выполнив следующую команду:
# service mysql restart
Безопастность MariaDB
Я рекомендую вам защитить MariaDB сервер, выполнив следующую команду:
# mysql_secure_installation
Вам будет предложено изменить пароль администратора, удалить анонимов, запретить вход за пределами локального хоста, удалить всех анонимов, и удалить тестовую базу данных. Рекомендуется, чтобы вы ответили «Y» на все вопросы.
Удаленные соединения пользователей
Давайте взглянем на то, как разрешить ранее созданному пользователю Test_User подключения к MariaDB удаленно (по умолчанию, MariaDB розрешает подключения только с локального хоста).
Открытие сервера MariaDB к Интернету делает его менее безопасным. Если вам необходимо подключить с другого сервера, то убедитесь, что вы применили правила брандмауэра, разрешающие соединения только с определенных IP-адресов.
Во-первых, мы должны предоставить пользовательские соединения с удаленными хостами для пользователя Test_user, для этого нужно войти в MariaDB как root:
# mysql -u root -p
Разрешаем пользователю Test_User подключения с удаленных хостов:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON test_db.* TO test_user@'%' IDENTIFIED BY 'secret_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit
Настройка MariaDB слушать все сетевые интерфейсы. Откройте файл /etc/mysql/my.cnf:
# vim /etc/mysql/my.cnf
[…]
bind-address = 0.0.0.0
[…]
Перезапустите сервер:
# service mysql restart
Проверка соединения с локального компьютера на вашем MariaDB сервере, заменив Test_User с вашим именем пользователя, и test_domain.com с вашим доменом или IP-адресом:
# mysql -u test_user -h test_domain.com -p
Если вошли успешно, вы должны увидеть приветствие MariaDB и shell prompt.
Тюнинг MariaDB
MySQL-тюнер является полезным инструментом, который подключается к работающему экземпляру MariaDB и предоставляет рекомендации по конфигурации на основе рабочей нагрузки. Вы должны позволить вашему экземпляру MariaDB работать не менее 24 часов перед запуском тюнера. Чем дольше экземпляр работает уже, тем лучший совет вам предложит тюнер.
Установите MySQL тюнер, выполнив следующую команду:
# apt-get install mysqltuner
Запустите MySQL тюнер с помощью следующей команды:
# mysqltuner
После чего он вам выдаст много весьма полезной информации. Обратите внимание рекомендации в конце. Это укажет вам, что необходимо изменить ( какие переменные должны быть настроины) в разделе [mysqld] вашего /etc/mysql/my.cnf файла.
Как сбросить MariaDB root пароль?
Если вы забыли свой пароль суперпользователя (пароль от root), вы можете легко сбросить его, следуя приведенным ниже инструкциям.
Остановите сервер MariaDB:
# service mysql stop
Запустите сервер с skip-grant-tables, таким образом, вы можете войти на MariaDB без пароля:
# mysqld_safe --skip-grant-tables &
Теперь вы можете подключиться к серверу MariaDB как root без пароля:
# mysql -u root
В клиенте MariaDB, введите следующие команды, чтобы сбросить пароль для суперпользователя и выйти:
MariaDB [(none)]> USE mysql MariaDB [(none)]> UPDATE user SET password=PASSWORD('yournewpassword') WHERE user='root'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit
Перезапустите сервер MariaDB:
# service mysql restart
Подключитесь к серверу MariaDB, используя новый пароль:
# mysql -u root -p
Установка MariaDB на Debian завершена. Надеюсь было понятно.