Установка MariaDB 10 на CentOS 7
Эта статья «Установка MariaDB 10 на CentOS 7» покажет вам, как установить и настроить MariaDB 10 на CentOS 7. Как вы вероятно уже знаете, сервер базы данных MariaDB теперь по умолчанию на CentOS т.к из-за Oracle (MySQL материнская компания) и вопросов GPL лицензирования. MariaDB с открытым исходным кодом и сообщество постепенно отходит от MySQL и переходит на MariaDB.
Если вы не знаете историю, вот краткое резюме. До Oracle владеющий MySQL, она была основана на GPL (GNU General Public License), которая говорит, что вы можете использовать программное обеспечение бесплатно, но вы не можете изменять и продавать его, если вы не отдаете исходный код. Это означает, что вы можете использовать его в вашем проекте с закрытым исходным кодоме.
Когда Oracle изменила лицензионное соглашение от модели GPL, в основном в с открытым исходным кодом сообщества восстали и некоторые начали группу из MySQL и создали MariaDB.
Поэтому в основном, сервер базы данных MariaDB такой же как и MySQL, но с моделью лицензирования GPL.
Теперь, когда вы знаете немного больше о том, почему и как MariaDB была основана, давайте будем учиться, как установить ее на CentOS 7.
Установка MariaDB на CentOS 7
Теперь, MariaDB является сервер базы данных по умолчанию для CentOS, все что вам нужно сделать, это запустить следующие команды, чтобы установить ее.Проблема в том, что centos загружает и устанавливает более старую, но стабильную версию MariaDB.
Если вы хотите, чтобы установить последнюю версию MariaDB, необходимо добавить его репозиторий программного обеспечения на ваш компьютер и установить. Чтобы сделать это, выполните следующие команды, чтобы создать файл из хранилища.
$ sudo vim /etc/yum.repos.d/MariaDB.repo
Затем скопируйте и вставьте строки что ниже в файл и сохранить его.
name = MariaDB baseurl = http://yum.mariadb.org/10.0/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Наконец, выполните команды ниже, чтобы установить MariaDB 10 на ваш сервер:
$ sudo yum install MariaDB-server MariaDB-client
Если у вас возникли проблемы с ошибками и MariaDB не может быть установлена из-за конфликта с mariadb-libs-xxxx, выполните команду что ниже, чтобы удалить конфликтующие библиотеки, и после чего повторно запустите установку команды что выше:
$ sudo yum remove mariadb-libs*
Следует также удалить пакет Postfix. Повторно запустите команду что выше, чтобы установить MariaDB.
После завершения установки, выполните команду что ниже, чтобы запустить сервер с MariaDB:
$ sudo /etc/init.d/mysql start
Затем выполните следующую команду, чтобы защитить сервер базы данных.
$ sudo mysql_secure_installation
Затем выберите «Y» (Да) для остальных подсказок, пока вы не закончите.
Enter current password for root (enter for none): press Enter Set root password? Y New password: Type new root password Re-enter new password: Confirm the password Remove anonymous users? Y Disallow root login remotely? Y Remove test database and access to it? Y Reload privilege tables now? Y
Последнее, необходимо заменить cnf.ini файл по умолчанию в /etc/ для MariaDB. Но для начала нужно перейти в:
$ cd /usr/share/mysql
И использовать один из предопределенных cnf.ini конфигураций которые доступны (Huge, Medium и Small) в данной папке.
Сделаем резервное копирование cnf.ini файла:
$ sudo mv /etc/cnf.ini /etc/cnf.ini.bak
Затем скопируйте один из предварительных конфигураций в MariaDB:
$ sudo cp /usr/share/mysql/my-huge.cnf /etc/cnf.ini
Перезапуск MaraiDB:
$ systemctl restart mysql
Можно проверить статус:
$ systemctl status mariadb
Можно добавить MariaBD в автозагрузку ОС:
Мне нужно создать пользователя и чтобы он мог подключатся из любого компьютера, для этого:
$ mysql -uroot -u >GRANT ALL PRIVILEGES ON *.* TO 'captain'@'%' IDENTIFIED BY 'my_password' WITH GRANT OPTION; > exit
Проверим какой порт прослушивает MariaDB с помощью команды SS:
# ss -tnlp | grep 3306 LISTEN 0 0 127.0.0.1:3306 *:* users:(("mysqld",1159,14))
Мой выглядит вот так (я разрешил удаленное подключение к серверу БД):
LISTEN 0 50 *:3306 *:* users:(("mysqld",10884,13))
Установка MariaDB 10 на CentOS 7 завершена.
New Features in MariaDB Server 10.5:
Some of the changes and features in MariaDB Server 10.5 are:
- All binaries previously beginning with mysql now begin with mariadb, with symlinks for the corresponding mysql command
- S3 Storage Engine — to archive MariaDB tables in Amazon S3, or any third-party public or private cloud that implements S3 API
- Both S3 tables and partitioned S3 tables are discoverable. This means that if you create a partitioned S3 table, both the partitioned table and its partitions can be directly used by another server that has access to the S3 storage
- New privileges were added by splitting the SUPER privilege, so that more fine grained tuning of what each user can do can be applied
- Speed up binary row logging code
- Improve connect speed (up to 25%)
Step 4 – Working with MariaDB
After installing and completing the configuration, connect to a MariaDB server using the following command.
sudo mysql -u root -p
Also try to create a new database, user and assign privileges to a database.
MySQL
## CREATE DATABASE
MariaDB > CREATE DATABASE mydb;
## CREATE USER ACCOUNT
MariaDB > CREATE USER ‘dbuser’@’localhost’ IDENTIFIED BY ‘secret’;
## GRANT PERMISSIONS ON DATABASE
MariaDB > GRANT ALL ON mydb.* TO ‘dbuser’@’localhost’;
## RELOAD PRIVILEGES
MariaDB > FLUSH PRIVILEGES;
1 2 3 4 5 6 7 8 9 10 11 |
## CREATE DATABASE ## CREATE USER ACCOUNT ## GRANT PERMISSIONS ON DATABASE ## RELOAD PRIVILEGES |
You may also required install phpMyAdmin to manage MariaDB using web interface, which provides easy way to work.
Установка Aria2 (менеджер загрузок) на RHEL / CentOS и Fedora Linux
Aria2 представляет собой легкую многопротокольную утилиту загрузки с командной строкой . Он поддерживает HTTP / HTTPS, FTP, BitTorrent и Metalink. Aria2 можно использовать с помощью встроенных JSON-RPC и XML-RPC интерфейсов. Для загрузки файлов, aria2 можно использоваться разные
источники/протоколы и попытаться максимально использовать пропускную способность канала. Используя контрольные суммы блока данных для Metalink, aria2 автоматически проверяет части данных, которые загружаются по BitTorrent. Aria2 1.18.5- последняя версия. Этот релиз исправляет ошибку, которая могла вызвать отказ после загрузки нескольких файлов (например, нескольких файлов MetaLink или торент).
Особенности
1. Есть интерфейс командной строки;
2. Можно качать файлы через HTTP (S) / FTP / BitTorrent;
3. Сегментированные загрузки;
4. Metalink версии 4 (RFC 5854) с поддержкой (HTTP / FTP / BitTorrent);
5. Metalink версии 3.0 с поддержкой (HTTP / FTP / BitTorrent);
6. Поддержка Metalink / HTTP (RFC 6249);
7. Имеется реализация HTTP/1.1;
8. Поддержка HTTP прокси;
9. Поддержка базовой аутентификации HTTP;
10. Известные переменные окружения для прокси : http_proxy , https_proxy , ftp_proxy , all_proxy andno_proxy;
11. Проверка подлинности сертификата клиента в HTTPS;
12. Загрузка Cookies из файла с использованием формата Firefox3 , хром / Google Chrome и Mozilla / Firefox ( 1.x/2.x ) / формат Netscape;
13. Сохранить Cookies в Mozilla / Firefox ( 1.x/2.x ) / формате Netscape;
14. Поддержка дополнительных заголовков HTTP;
15. Поддержка постоянного соединения;
16. FTP через HTTP-прокси;
17. Есть много BitTorrent расширений : Быстрое расширение, DHT , PEX , MSE / PSE , Multi- трекер , UDP трекер;
18. Можно запустить в виде процесса демона;
19. Выборочное скачивание в нескольких торрент-файл / Metalink;
20. Можно отключить сегментированную загрузку в Metalink;
21. Есть поддержка Netrc;
22. Имеется поддержка конфигурационного файла;
23. Параметризованная поддержка URI;
24. Поддержка IPv6 с Happy Eyeballs;
25. И много другое.
Security
Improve initial security
The command will interactively guide you through a number of recommended security measures, such as removing anonymous accounts and removing the test database:
# mysql_secure_installation
Warning: After running this, please note that TCP port 3306 will still be open, but refusing connections with an error message. To prevent MySQL from listening on an external interface, see the and sections.
Listen only on the loopback address
By default, MySQL will listen on the 0.0.0.0 address, which includes all network interfaces. In order to restrict MySQL to listen only to the loopback address, add the following line in :
bind-address = 127.0.0.1
Enable access locally only via Unix sockets
By default, MySQL is accessible via both Unix sockets and the network. If MySQL is only needed for the localhost, you can improve security by not listening on TCP port 3306, and only listening on Unix sockets instead. To do this, add the following line in :
skip-networking
You will still be able to log in locally as before, but only using Unix sockets.
Grant remote access
Warning: This is not considered as best practice and may cause security issues. Consider using Secure Shell, VNC or VPN, if you want to maintain the MySQL server from another host inside/outside your network.
To allow remote access to the MySQL server, ensure that MySQL has and is .
Grant any MySQL user remote access (example for root):
# mysql -u root -p
Check current users with remote access privileged:
SELECT User, Host FROM mysql.user WHERE Host <> 'localhost';
Now grant remote access for your user (here root):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY 'my_optional_remote_password' WITH GRANT OPTION;
You can change the ‘%’ wildcard to a specific host if you like. The password can be different from user’s main password.
Configure access to home directories
For security reasons, the systemd service file contains , which prevents MariaDB from accessing files under the , and hierarchies. The has to be in an accessible location and owned by the user and group.
Remove RPM Package
The RPM installer can be used to remove (or uninstall) a software package.
Enter the following into a terminal window:
The option instructs RPM to erase the software. Check RPM Dependencies
So far, this guide assumes the software either doesn’t have dependencies or already has them installed.
To check the .rpm file for dependencies using the following command:
The system should list all the dependencies:
- – This option tells RPM to query the file
- – This option lets you specify the target package to query
- – This lists the requirements for the package
If there are any missing dependencies, you can install them from the standard repositories using yum or dnf. If your software requires other non-standard software, it will often be noted in the installation instructions.
Installation
Tip:
- If the database (in ) resides on a Btrfs file system, you should consider disabling for the directory before creating any database.
- If the database resides on a ZFS file system, you should consult before creating any database.
Install , and run the following command before starting the :
# mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Tip: If you use something different from for your data dir, you need to set under section of your .
Now can be started and/or enabled.
Note: Before continuing, it is recommended to of the MySQL installation.
To simplify administration, you might want to install a .
Информация о действующих параметрах
Для просмотра всех возможных параметров и настойках по умолчанию можно посмотреть выполнив команду:
mysqld --verbose --help = часть вывода команды с пояснениями = !!! в консоли у меня не показывается первая часть вывода и как её увидеть я сказу ниже!!! = в верхней части вы увидите где находится файл настойки = mysqld Ver 10.3.12-MariaDB-log for Linux on x86_64 (MariaDB Server) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Starts the MariaDB database server. Usage: mysqld Default options are read from the following files in the given order: /etc/my.cnf ~/.my.cnf = в этой части увидите вывод всех возможных параметров = --thread-handling=name Define threads usage for handling queries. One of: one-thread-per-connection, no-threads, pool-of-threads --thread-pool-idle-timeout=# Timeout in seconds for an idle thread in the thread pool.Worker thread will be shut down after timeout --thread-pool-max-threads=# Maximum allowed number of worker threads in the thread pool = в этой части параметры которые используются по умолчанию = Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) ---------------------------------------------------------- --------------- allow-suspicious-udfs FALSE alter-algorithm DEFAULT aria ON aria-block-size 8192 aria-checkpoint-interval 30 aria-checkpoint-log-activity 1048576 aria-encrypt-tables FALSE aria-force-start-after-recovery-failures 0 aria-group-commit none aria-group-commit-interval 0 aria-log-dir-path /var/lib/mysql/ aria-log-file-size 1073741824 aria-log-purge-type immediate = в конце информация о том как посмотреть текущие параметры = To see what values a running MySQL server is using, type 'mysqladmin variables' instead of 'mysqld --verbose --help'. перевод Чтобы увидеть, какие значения использует работающий сервер MySQL, введите 'mysqladmin variables' вместо 'mysqld --verbose --help'.
Вся информация в консоли не покажется поэтому лучше вывод сделать в файл:
mysqld --verbose --help > mysqld--verbose--help.txt
Какие значения использует работающий сервер тоже лучше вывести в файл:
mysqladmin variables -u root -p > mysqladmin-variables.txt Enter password:
Использование MariaDB
В этом разделе вы узнаете, как подключиться к MariaDB и как пользоваться основными командами SQL.
Стандартный инструмент для взаимодействия с MariaDB является программа-клиент MySQL. Для начала, выполните следующую команду для подключения к MariaDB в качестве пользователя root:
# mysql -u root -p
Вводим пароль, тот который Вы вводили ( создали) при установке.
Давайте попробуем создать простую базу данных, которую мы позже будем заполнения данными. Введите следующие команды, чтобы создать базу данных с именем TEST_DB, владельцем которого будет являться новый пользователь Test_User, так же командой установим пароль secret_password для пользователя:
MariaDB > CREATE DATABASE test_db; MariaDB > GRANT ALL PRIVILEGES ON test_db.* TO test_user@localhost IDENTIFIED BY 'secret_password'; MariaDB > FLUSH PRIVILEGES; MariaDB > quit
Последняя строка (команда) выходит из пользователя root на MariaDB. И сейчас войдем как пользователь test_user:
# mysql -u testuser -p
Введем команду для того чтобы использовать только что созданную БД (test_db):
MariaDB > USE test_db;
Создайте новую таблицу и заполните ее некоторым данным:
MariaDB > CREATE TABLE products (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), price DECIMAL(6,2)); MariaDB > INSERT INTO products (name, price) VALUES ('MacBook_Pro', 3200.0); MariaDB > INSERT INTO products (name, price) VALUES ('Asus', 340.0); MariaDB > INSERT INTO products (name, price) VALUES ('HP', 745.0);
Убедитесь, что новые данные нормально вставлены:
MariaDB > SELECT * FROM products;
Выйдите из клиента MariaDB выполнив:
MariaDB > quit
Для получения дополнительной информации о командах SQL выполните:
MariaDB > \h
Обновление репозитория MariaDB YUM до нового мажорного релиза.
Репозиторий MariaDB может быть обновлен до новой основной версии. Как это будет сделано, зависит от того, как вы изначально настроили репозиторий.
Обновление основного релиза с помощью скрипта установки репозитория пакета MariaDB
Если вы настроили для установки из репозитория пакетов MariaDB Corporation MariaDB с помощью сценария установки репозитория пакетов MariaDB , то вы можете обновить основную версию, которую использует репозиторий, повторно запустив сценарий.
Обновление основного релиза с помощью инструмента настройки репозитория MariaDB
Если вы настроили для установки из репозитория MariaDB Foundation MariaDB с помощью инструмента настройки репозитория MariaDB , то вы можете обновить основную версию, которую использует репозиторий, обновив файл конфигурации репозитория на месте. Например, если вы хотите изменить репозиторий с MariaDB 10.2 на MariaDB 10.3 , и если файл конфигурации репозитория находится в , вы можете выполнить следующее:
sudo sed -i 's/10.2/10.3/' /etc/yum.repos.d/MariaDB.repo
После этого репозиторий должен ссылаться на MariaDB 10.3 .
Если репозиторий привязан к определенному второстепенному выпуску, то приведенная выше команда может привести к неверной конфигурации репозитория. В этом случае рекомендуются следующие варианты:
- Отредактируйте репозитория MariaDB.repo вручную.
- Или удалите репозитория MariaDB.repo , а затем установите репозиторий новой версии с более надежным скриптом установки репозитория пакетов MariaDB .
Установка Maria DB 10.5 на Ubuntu 20.04 LTS Linux
Для того, чтобы установить MariaDB 10.5 на Ubuntu 20.04 LTS Linux необходима сначала добавить репозитараий MariaDB в систему.
Шаг 1. Обновить систему
Обновите систему и установите пакет software-properties-common.
sudo apt update && sudo apt upgrade
sudo apt -y install software-properties-common
1 2 |
sudo apt update&&sudo apt upgrade sudo apt-yinstall software-properties-common |
Шаг 2. Добавьте gpg-ключ в систему
sudo apt-key adv —fetch-keys ‘https://mariadb.org/mariadb_release_signing_key.asc’
1 | sudo apt-key adv—fetch-keys’https://mariadb.org/mariadb_release_signing_key.asc’ |
Шаг 3. Добавьте репозитарий MariaDB APT
sudo add-apt-repository ‘deb http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main’
1 | sudo add-apt-repository’deb http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main’ |
На выходе должно получится что-то похожее на:
Shell
Hit:1 http://ru.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:3 http://ru.archive.ubuntu.com/ubuntu focal-updates InRelease
Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:5 http://ru.archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:6 https://download.docker.com/linux/ubuntu focal InRelease
Get:7 http://security.ubuntu.com/ubuntu focal-security/main i386 Packages
Get:8 http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal InRelease
Get:9 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
Get:10 http://security.ubuntu.com/ubuntu focal-security/main Translation-en
Get:11 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata
Get:12 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata
Get:13 http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal/main amd64 Packages
Fetched 783 kB in 1s (666 kB/s)
Reading package lists… Done
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Hit1httpru.archive.ubuntu.comubuntu focal InRelease Hit2httpdl.comlinuxchromedeb stable InRelease Hit3httpru.archive.ubuntu.comubuntu focal-updates InRelease Get4httpsecurity.ubuntu.comubuntu focal-security InRelease107kB Hit5httpru.archive.ubuntu.comubuntu focal-backports InRelease Hit6httpsdownload.docker.comlinuxubuntu focal InRelease Get7httpsecurity.ubuntu.comubuntu focal-securitymain i386 Packages145kB Get8httpmariadb.mirror.globo.techrepo10.5ubuntu focal InRelease6 264B Get9httpsecurity.ubuntu.comubuntu focal-securitymain amd64 Packages348kB Get10httpsecurity.ubuntu.comubuntu focal-securitymain Translation-en79,6kB Get11httpsecurity.ubuntu.comubuntu focal-securitymain amd64 DEP-11Metadata24,3kB Get12httpsecurity.ubuntu.comubuntu focal-securityuniverse amd64 DEP-11Metadata55,7kB Get13httpmariadb.mirror.globo.techrepo10.5ubuntu focalmain amd64 Packages16,9kB Fetched783kB in1s(666kBs) Reading packagelists…Done |
Шаг 4. Установите клиент и сервер MariaDB
sudo apt update
sudo apt install mariadb-server mariadb-client
1 2 |
sudo apt update sudo apt install mariadb-server mariadb-client |
Шаг 5. Установка защиты для сервера MariaDB
sudo mysql_secure_installation
1 | sudo mysql_secure_installation |
После установки сервис базы данных должен запустится автоматически. Чтобы проверить работоспособность сервиса используйте команду:
systemctl status mysql
1 | systemctl status mysql |
Чтобы войти в БД под root, введите команду:
mysql -u root -p
1 | mysql-uroot-p |