Я знаю, что MySQL / MariaDB можно настроить на системном уровне для использования пользовательского пути, а не /var/lib/mysql
. Это требует перезапуска службы.
Есть ли способ просто запустить одноразовую команду sql для данного каталога данных? Мой вариант использования - инициализация и настройка каталога сценария оболочки перед созданием контейнера Docker с привязкой этого каталога к каталогу данных MySQL контейнера. Я не хочу, чтобы это требовало изменения чего-либо, работающего в системе.
Я не думаю, что вы можете переключать каталог данных во время выполнения. Извини за это.
Вы МОЖЕТЕ запустить другой mysqld, используя другой порт tcp, одновременно передавая ему другой каталог данных в командной строке:
mysqld --port 3307 --socket=/var/run/mysqld/temp-mysqld.sock --datadir /tmp/mysql-data
Затем подключитесь к этому mysqld и запустите там свой запрос:
mysql --port 3307 --socket=/var/run/mysqld/temp-mysqld.sock