Установка MariaDB 10.6 на Debian 10 | Debian 9
Установка MariaDB 10.6 на Debian 10 | Debian 9
MariaDB — это популярные реляционные базы данных с открытым исходным кодом, разработанные разработчиками MySQL. В отличие от MySQL, MariaDB должна была быть полностью бесплатной для использования. При его разработке большое внимание уделяется производительности и стабильности. MariaDB также в основном предпочитают из-за надежности и масштабируемости с новыми механизмами хранения. MariaDB 10.6 также содержит ряд улучшений по сравнению с версией 10.5 и некоторые дополнительные функции. mariaDB имеет различные инструменты и плагины, которые делают его широко применимым. Это база данных по умолчанию в большинстве дистрибутивов Linux.
В этом руководстве представлена пошаговая установка MariaDB 10.6 на Debian 10 и Debian 9 из репозитория MariaDB APT.
MariaDB 10.6 — это текущая стабильная версия MariaDB, которая содержит ряд улучшений и новых функций, как описано ниже:
Новые возможности MariaDB 10.6
- Игнорируемые индексы — это индексы, которые видны и обслуживаются, но не используются оптимизатором.
- sys schema supported — это «системная» база данных, содержащая представления и процедуры для исследования проблем с производительностью.
- SKIP LOCKED — Заблокированные таблицы пропускаются для обновления или выбора.
- JSON_TABLE () — может создать таблицу JSON, которую можно использовать как подзапрос из документа JSON.
- OFFSET… FETCH… [WITH TIES] — WITH TIES — это необязательный пункт, который добавляет дополнительную функциональность. Пример в том виде, в каком он был использован
- Совместимость с Oracle — ведутся постоянные работы по обеспечению совместимости MariaDB с OracleDB с некоторыми уже добавленными синтаксисами и функциями Oracle.
Улучшения в MariaDB 10.6
Некоторые из улучшений MariaDB 10.6 по сравнению с его предшественниками:
- Atomic DDL— CREATE, ALTER, DROP и RENAME атомарен и безопасен при сбоях. Если сервер MariaDB выйдет из строя во время обработки любой из этих операций, изменение будет выполнено полностью или вообще не будет выполнено.
- InnoDB improvements — первая вставка в пустую таблицу выполняется быстрее. Также избегается запись во временные таблицы. Более быстрые неявные и явные временные таблицы.
- Improvements in Galera. Возможность включения зашифрованных соединений между двумя узлами без простоев. Также добавлены флаги, указывающие, должны ли быть включены спорные совместимые функции galera.
- Очистите, чтобы удалить неподдерживаемые функции, такие как TukoDB Engine, Cassandra Engine, некоторые переменные InnoDB и некоторые innodb_checksum_algorithm.
Установка MariaDB 10.6 на Debian 10 | 9
Выполните следующие шаги, чтобы установить MariaDB 10.6 на последние серверы Debian.
Шаг 1. Обновление системы
Всегда рекомендуется иметь последние системные пакеты перед установкой, чтобы избежать проблем с зависимостями. Выполните следующие команды:
sudo apt update
sudo apt upgrade
sudo reboot
Шаг 2: Установите необходимые пакеты
Затем установите необходимые пакеты, как показано ниже:
sudo apt-get install software-properties-common dirmngr
Шаг 3. Добавьте ключ подписи MariaDB и репозиторий APT
Выполните следующие команды соответственно, чтобы импортировать ключ подписи MariaDB и добавить репозиторий MariaDB APT.
Для Debian 10 (Buster)
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mariadb.mirror.liquidtelecom.com/repo/10.6/debian buster main'
Для Debian 9 «Stretch»
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,i386,ppc64el] https://mariadb.mirror.liquidtelecom.com/repo/10.6/debian stretch main'
Шаг 4: Установите MariaDB в Debian 10 | 9
Затем обновите пакеты и установите сервер MariaDB.
sudo apt-get update
sudo apt-get install mariadb-server mariadb-client
Шаг 5. Запустите и включите MariaDB
Теперь выполните следующие команды, чтобы запустить MariaDB и включить его автоматический запуск при перезагрузке системы.
sudo systemctl start mariadb
sudo systemctl enable mariadb
Подтвердите, что MariaDB работает
$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.6.3 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor pres>
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since Wed 2021-07-28 23:03:14 EAT; 8min ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Шаг 6: Безопасная установка MariaDB
После успешной установки MariaDB перейдите к защите, как показано ниже:
$ sudo 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
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
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.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
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!
Шаг 7: Проверьте версию MariaDB
Чтобы проверить версию MariaDB, нам необходимо войти в MariaDB, как показано ниже. Используйте ‘-p’, если вы установили пароль root.
$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.6.3-MariaDB-1:10.6.3+maria~buster mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Затем выполните следующую команду MySQL, чтобы проверить версию MariaDB.
MariaDB [(none)]> SELECT VERSION();
+-------------------------------------+
| VERSION() |
+-------------------------------------+
| 10.6.3-MariaDB-1:10.6.3+maria~buster |
+-------------------------------------+
1 row in set (0.000 sec)
MariaDB [(none)]>
Шаг 8: Основные команды MariaDB
Чтобы начать работу с основными командами, мы можем проверить создание базы данных, пользователей и таблиц.
MariaDB Создать базу данных
Чтобы создать базу данных в MariaDB, войдите в систему, как показано выше, и выполните следующую команду.
#Create a new database
CREATE DATABASE testdb;
Query OK, 1 row affected (0.000 sec)
#If the database with the same exists
CREATE DATABASE testdb;
ERROR 1007 (HY000): Can't create database 'testdb'; database exists
#Create a database if already exits
CREATE OR REPLACE DATABASE testdb;
Query OK, 2 rows affected (0.009 sec)
#First check if a database exists
CREATE DATABASE IF NOT EXISTS testdb;
Query OK, 1 row affected, 1 warning (0.000 sec)
# Check Databases MariaDB
SHOW DATABASES;
MariaDB добавляет пользователя и предоставляет привилегии
Для создания пользователя и предоставления привилегий;
#Create user mariadb
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
#Grant all privileges to the user
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
#Grant privileges to a specific database
GRANT ALL PRIVILEGES ON 'DB1'.* TO 'user1'@'localhost';
#Remember to refresh the privileges
FLUSH privileges;
#To check user grants in MariaDB
SHOW GRANTS FOR 'myuser'@'locahost';
Создать таблицу и добавить данные MariaDB
После того, как вы создали базу данных, вы можете создать таблицу и добавить в нее данные.
CREATE TABLE employees (id INT, name VARCHAR(20), email VARCHAR(20));
INSERT INTO employees (id,name,email) VALUES(01,"lorna","lorna@example.com")
MariaDB Очистить
Чтобы полностью удалить MariaDB, выполните следующие команды.
sudo apt purge mariadb-server
sudo rm -rf /var/lib/mysql/
Вот и все. Вы успешно установили MariaDB 10.6 на Debian 10 и Debian 9. Это простая и понятная установка. Надеюсь, руководство было вам полезно.