はじめに
ほぼ初記事で拙いところがあると思いますが、ご容赦ください。
完成品はこちらです。使用する際はコピーして使用してください。
また、本記事のシートはMySQL8.0のみに対応しています。ご注意ください。
自宅のMySQLサーバーのDB管理
私の自宅にはMySQL8.0のサーバーが設置されている。
開発しているプロジェクトごとにDBを用意して開発をしているのでプロジェクトごとに
対応するDBとそのDBを持ったアカウントを作成する必要がある。
下記が今まで使用していた管理を行っていたスプレッドシート。
スプレッドシートに入力した情報からコマンドを自動作成する
今までは上記の画像のように作成したDBとユーザーの管理用として使っていましたが、
逆にスプレッドシートに入力したDBの名前とユーザー名からそれらを作成できるコマンドを自動生成してみる。
それぞれの役割のコマンドは以下の通り。
create database Test;
--Testという名前のDBを作成
CREATE USER 'Test-1'@'%' IDENTIFIED BY '1test#$2pass';
--Test-1というユーザーを作成。
--1test#$2passはパスワード。
GRANT ALL ON Test.* TO 'Test-1'@'%';
--Test-1というユーザーにTestというDBの全権限を割り当て。
FLUSH PRIVILEGES;
--設定を反映。
これらのコマンドをスプレッドシートに入力した情報から自動生成する。
完成品で行っている関数処理は単純な文字結合なのでスプレッドシート上の関数処理については省略。
K列にコマンドが生成されるのでMySQL8.0のコンソールにコピペして実行する。
今後の展望(?)
個人的に使うために思いつきで作ったものなのであまり完成度は高くありませんが、自分が使っているところではかなり重宝している。
今後需要があれば複数ユーザーへの対応やアクセス制限や権限の詳細設定などのコマンド生成に対応したバージョンのものを作ろうと思う。