Как создать непривилегированную базу данных sql

Мне нужно узнать, что такое sql. Но я слишком боюсь создания базы данных с правами root. Это мой текущий "прогресс":

$pacman -Syu mariadb  # succeeds
$mysql_install_db --basedir=~/.sql/install --datadir=~/.sql/dat
FATAL ERROR: Could not find my_print_defaults

Что теперь? Дайте мне учебник по sql 101 с любой реализацией, популярной в Arch.


@fra-san Конечно

@terdon Я следил за этимВсе говорят, что Мария лучшая, я просто не знаю, как с ней обращаться.

@JeffSchaller Я хочу иметь непривилегированную базу данных, с которой можно играть.

0
18.06.2020, 20:38
1 ответ

При инициализации каталогов данных MariaDB в Arch Linux вам нужно только установить параметр --basedir, если вы установили MariaDB в произвольном месте. В вашем случае это не нужно, так как вы установили официальный пакет mariadb с помощью pacman.
(Чтобы узнать больше, вы можете непосредственно проверить /usr/bin/mysql_install_dbсценарий оболочки:--basedirsаргумент (, который автоматически -определяется, когда он не установлен )используется в качестве префикса в путях к исполняемым файлам. и библиотеки, чтобы не указывать место для пользовательских данных ).

Работает

mkdir ~/.sql
mysql_install_db --datadir="/home/$(id -u -n)/.sql/dat"

как обычному пользователю должно быть достаточно. Это подразумевает, что вы затем собираетесь также запуститьmysqld(процесс сервера базы данных )как ваш пользователь. Например:

mkdir /run/user/$(id -u)/mariadbtest/
mysqld --socket=/run/user/$(id -u)/mariadbtest/mysql.socket \
       --datadir="/home/$(id -u -n)/.sql/dat"

После этого вы сможете подключиться с помощью:

mysql --socket=/run/user/$(id -u)/mariadbtest/mysql.socket
1
18.03.2021, 23:26

Теги

Похожие вопросы