Site cover image

🏫MariaDB コマンドでパスワードを安全に設定する方法

Table of contents

MariaDB 10.1.20以降

💬 Answer

MariaDB(MySQLでも同様)でパスワードをコマンドラインから渡す方法の一つは -p オプションを使う方法です。このオプションを指定すると、MariaDBはパスワードの入力を求めます。

しかし、これはインタラクティブな方法であり、スクリプト等からは使いづらいかもしれません。

そのため、MariaDB 10.1.20以降ではパスワードを ~/.my.cnf ファイルに保存し、このファイルからパスワードを読み込む方法が推奨されています。

この方法を使うとパスワードがコマンドラインやスクリプトに露出することなく、安全にパスワードを渡すことができます。

まず ~/.my.cnf ファイルをエディタで開き、以下の内容を追加します:

[client]
user = yourusername
password = yourpassword

ここで、yourusernameyourpassword をあなたのユーザ名とパスワードに置き換えます。

このファイルのパーミッションを変更して、他のユーザから読まれないようにします:

chmod 600 ~/.my.cnf

これで設定は完了です。次に mysql コマンドを実行するときは -p オプションなしで実行することができます:

mysql

また、これをワンライナーの例に適用すると、以下のようになります:

mysql -e "USE your_database; LOAD DATA INFILE '/path/to/your/file.tsv' INTO TABLE your_table FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' (your_column1, your_column2, your_column3, ...);"

この方法を使えば、パスワードをコマンドラインやスクリプトに露出させずにMariaDBにパスワードを渡すことができます。


「上記記事は私が頑張って❓編集しました💗。」
Featured image of the post