Привет,добро пожаловать вЭксплуатация и обслуживаниеиметьтехника。
Контент, которым сегодня поделились, Docker Лучшая практика «2024» в серии документов Docker Развертывание одного узла MariaDB Практическое руководство。
В этой статье будет подробно описано, как использовать технологию контейнеризации Docker и инструмент Docker Compose для быстрого развертывания эффективного и стабильного одноузлового экземпляра базы данных MariaDB.
Фактическая конфигурация сервера (копия архитектуры 1:1 мелкомасштабной производственной среды, конфигурация немного отличается)
имя хоста | IP | ЦП (ядро) | Память (ГБ) | Системный диск (ГБ) | Диск с данными (ГБ) | использовать |
---|---|---|---|---|---|---|
docker-node-1 | 192.168.9.81 | 4 | 16 | 40 | 100 | Докер-узел 1 |
docker-node-2 | 192.168.9.82 | 4 | 16 | 40 | 100 | Докер-узел 2 |
docker-node-3 | 192.168.9.83 | 4 | 16 | 40 | 100 | Докер-узел 3 |
общий | 3 | 12 | 48 | 120 | 300 |
Реальная боевая среда включает информацию о версии программного обеспечения.
мейнстрим MariaDB иметь 10.x.x и 11.x.x Две версии, 10 и 11 Две основные версии разделены на множество меньших версий. Эта статья выбрала 10 Последняя версия серии 10.11.8 , при фактическом использовании выберите конкретную версию в соответствии с требованиями проекта.
На данный момент доступны следующие образы для программы развертывания контейнера mariadb:
Моя стратегия выбора использования образов Docker такова:
Поэтому в этой статье выбран наиболее загружаемый образ, официально созданный DockerHub, для создания одноузлового сервиса MariaDB.
cd /data/containers
mkdir -p mariadb/{data,config,logs}
MariaDB используется по умолчанию my.cnf Конфигурационный file, применимые сценарии использования ограничены, а производственную среду или среду разработки необходимо настраивать в соответствии с потребностями. MariaDB файл конфигурации.
В этой статье случайно найдена копия Конфигурационного. файл, просто чтобы реализовать функцию пользовательской конфигурации, настройте файл в соответствии со своим сценарием использования. конфигурации.
Создать собственный MariaDB Конфигурационный файл,vi mariadb/config/mysqld.cnf
[mysqld]
# performance settings
lock_wait_timeout = 3600
open_files_limit = 65535
back_log = 1024
max_connections = 1024
max_connect_errors = 1000000
table_open_cache = 1024
table_definition_cache = 1024
thread_stack = 512K
sort_buffer_size = 4M
join_buffer_size = 4M
read_buffer_size = 8M
read_rnd_buffer_size = 4M
bulk_insert_buffer_size = 64M
thread_cache_size = 768
interactive_timeout = 600
wait_timeout = 600
tmp_table_size = 32M
max_heap_table_size = 32M
innodb_open_files = 1024
# TLS Конфигурация
tls_version = TLSv1.2
Создавать и редактировать Docker Compose Конфигурационный файл,vi mariadb/docker-compose.yml
, добавьте следующий контент.
services:
mariadb:
container_name: mariadb
hostname: mariadb
image: mariadb:10.11.8
restart: always
ulimits:
nofile:
soft: 65536
hard: 65536
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=OpsXlab!2024
volumes:
- ./data:/var/lib/mysql
- ./config:/etc/mysql/conf.d/
networks:
- app-tier
ports:
- 3306:3306
networks:
app-tier:
name: app-tier
driver: bridge
#external: true
Описание параметра:
cd /data/containers/mariadb
docker compose up -d
$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mariadb mariadb:10.11.8 "docker-entrypoint.s…" mariadb 7 seconds ago Up 6 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp
# Проверьте, не является ли контейнер ненормальным, с помощью журнала. Результат сокращен.
docker compose logs -f
Чтобы проверить доступность службы MariaDB, используйте Docker, чтобы создать экземпляр клиентского контейнера MariaDB и выполнить несколько простых команд запроса.
docker run -it --rm --network app-tier mariadb:10.11.8 mariadb -h 192.168.9.81 -uroot -p
проиллюстрировать: Эта команда подключится к указанной базе данных и предоставит стандартный MariaDB подсказка, вы можете выполнить связанные SQL Заказ.
MariaDB [(none)]> \s
--------------
mariadb Ver 15.1 Distrib 10.11.8-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
Connection id: 3
Current database:
Current user: root@172.20.0.1
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.11.8-MariaDB-ubu2204 mariadb.org binary distribution
Protocol version: 10
Connection: 192.168.9.81 via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb3
Conn. characterset: utf8mb3
TCP port: 3306
Uptime: 2 min 47 sec
Threads: 1 Questions: 4 Slow queries: 0 Opens: 17 Open tables: 10 Queries per second avg: 0.023
--------------
MariaDB [(none)]> show variables like '%max_conn%';
+-----------------------+---------+
| Variable_name | Value |
+-----------------------+---------+
| extra_max_connections | 1 |
| max_connect_errors | 1000000 |
| max_connections | 1024 |
+-----------------------+---------+
3 rows in set (0.001 sec)
Действия в статье,Все организовано как автоматизация Скрипт,Содержит следующий контент (из-за ограничений места,В этом документе не показано):
Эксплуатация и обслуживаниеиметьтехникаУчастники Planet, пожалуйста, перейдите на склад эксклюзивного кода для загрузки.(Ценный контент, эксклюзивный только для участников Planet)。
Вот и все,Это все, чем я делюсь сегодня. Я еще не подумал о том, чем поделюсь в следующем выпуске.,Следите за обновлениямиОткрытая глухая коробка。
Если вам понравилась эта статья, поделитесь, добавьте в избранное, поставьте лайк и прокомментируйте! Пожалуйста, продолжайте обращать внимание @Эксплуатация и обслуживаниеиметь Техника, вовремя смотрите больше хороших статей!
Добро пожаловать присоединиться 「Планета Знаний|Эксплуатация и обслуживаниеиметьтехника」 , получи больше KubeSphere, Kubernetes, облачная эксплуатация и обслуживание, автоматизированная эксплуатация и обслуживание, искусственный интеллект Практические навыки, такие как большие модели。Будущая карьера Эксплуатация и обслуживание всегда доступна. Я сижу на пассажирском сиденье.。
Отказ от ответственности:
Получите практическое видео из этой статьи.(пожалуйста, обрати внимание,Асинхронный выпуск документального видео,пожалуйста, сначаласосредоточиться на)
Заявление об авторских правах