В Linux входящий пакет маршрутизируется путем проверки того, должен ли пакет обрабатываться локальным компьютером или нет. Если это необходимо, он обрабатывается напрямую, без предварительной маршрутизации через «правильный интерфейс». IP-адрес — это своего рода псевдоним для машины, и не имеет значения, на какой интерфейс пришел пакет.
То же самое происходит, если вы выполняетеtelnet 10.0.1.1
-локально, он отображается не на eth1
, а на lo
, который обрабатывает все пакеты, идущие с локальной машины на себя.
Однако для исходящих пакетов имеет значение, к какому интерфейсу принадлежит адрес.Ядро сначала решает, как направить пакет, а затем выбирает лучший исходный IP-адрес для пакетов на основе этого.
Если вам нужно увидеть «все пакеты» с tcpdump
, вы можете сделать tcpdump -i any icmp
. Он не покажет вам интерфейс (с ), но вы увидите все пакеты, идущие, например. 10.0.1.1
.
Это параметры самой программы mariadb. Вы можете поместить их в файлы конфигурации, переопределив то, что уже установлено, например. в моей системе:
$ sudo ack datadir /etc/mysql/
/etc/mysql/mariadb.conf.d/50-server.cnf
21:datadir = /var/lib/mysql
Поэтому я бы предложил создать свой собственный файл конфигурации в /etc/mysql/mariadb.conf.d/
с номером после 50 и переопределить его там:
[mysqld]
basedir = /usr/local/mariadb
datadir = /data/mariadb
Имейте в виду, что установка пакета Debian mariadb сначала создаст некоторые базы данных в расположении по умолчанию как часть его установки. Вы можете предварительно -создать файлы конфигурации (, которые установка не перезапишет ), чтобы получить правильные настройки при первом запуске и во время первоначальной настройки.
Кроме того, у mariadb в настоящий момент нет профиля AppArmor в Debian, но он может увеличить его, так что вам придется следить за этим, так как очень вероятно, что демон сможет получить доступ только к /var /библиотека/mysql.