Classic環境で利用できます。
MySQL Stored Procedureは、一連の手順に従って実行されるSQL構文をCALL function();の形で実行できるようにまとめたものです。
ユーザーアカウントの作成、新規データベースの作成、パスワードの変更、作成されたアカウントリストの確認の4つの機能を提供します。
MySQL DBにアクセス
MySQL Stored Procedureを実行するには、データベースがインストールされたクラスタサーバにアクセスし、MySQL DBにアクセスします。
MySQL DBにアクセスする方法は以下のとおりです。
-
クラスタサーバにSSHで直接アクセスします。
- SSHでクラスタノードにアクセスガイドをご参照ください。
-
以下のコマンドを実行してMySQL DBにアクセスします。
<ユーザーアカウント>にユーザーアカウントを入力して実行し、Enter password:が表示されたらアカウントのパスワードを入力します。
$ mysql -h mysql.local -u <ユーザーアカウント> -p Enter password:パスワード
Stored procedureの使用方法
プロシージャ作成の確認
作成されたプロシージャを確認する方法は以下のとおりです。
show databases;コマンドを実行すると表示されるDBリストで、以下のコマンドでAmbari DBにアクセスします。ambari_{固有番号}の位置に、実際にアクセスするデータベースの名前を入力します。
use ambari_{固有番号};show procedure status;コマンドを実行し、Ambari DBに作成された4つのプロシージャを確認します。
- 現在使用可能なプロシージャ:CHANGE_PW、CHECK_USER、CREATE_DB、CREATE_USER

データベースの作成
データベースを作成する方法は以下のとおりです。
-
CREATE_DBプロシージャで作成するデータベースの名前を入力します。- データベース名の例:
new_database
call CREATE_DB('new_database'); - データベース名の例:
-
show databases;コマンドを実行して新たに作成されたデータベースを確認します。

ユーザーアカウントの作成とユーザーアカウントリストの確認
ユーザーアカウントを作成する方法と、ユーザーアカウントリストを確認する方法は以下のとおりです。
CREATE_USERプロシージャで新たに作成するユーザーアカウントとパスワードを入力します。- ユーザーアカウントの例:
new_user - パスワードの例:
password!
call CREATE_USER('new_user', 'password1!');- ユーザーアカウントの例:
CHECK_USERプロシージャでユーザーアカウントが作成されたのか、アカウントリストを確認します。call CHECK_USER();

パスワードの変更
パスワードを変更する方法は以下のとおりです。
CHANGE_PWプロシージャでパスワードを変更するアカウント名と新しいパスワードを入力します。- 対象ユーザーアカウントの例:
new_user - 変更パスワードの例:
change_pw2@
call CHANGE_PW('new_user', 'change_pw2@');- 対象ユーザーアカウントの例:
Query OKメッセージが表示されたか確認します。 正常に表示されたなら、その後は変更後のパスワードでアクセスできます。
