権限のないSQLデータベースを作成する方法

権限のないSQLデータベースを作成する方法

私は何かを理解する必要がありますsql。しかし、私はとても怖いです。データベースをルートとして作成。これが私の現在の「進捗状況」です。

$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で--basedirMariaDBをカスタムの場所にインストールした場合にのみ、このオプションを設定できます。あなたの場合は公式をインストールしたので必要ありません。マリアデータベースパッケージの使用法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

関連情報