如何创建非特权sql数据库

如何创建非特权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我想要一个可以使用的非特权数据库。

答案1

初始化MariaDB的数据目录时在 Arch Linux 上--basedir如果您在自定义位置安装了 MariaDB,则只需设置该选项。你的情况不需要,因为你安装了官方的玛丽亚数据库包使用pacman.
(要了解更多信息,您可以直接检查/usr/bin/mysql_install_dbshell 脚本:--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

相关内容