MySQL Stored Procedure を用いたDBの作成とアカウントの管理

Prev Next

Classic環境で利用できます。

MySQL Stored Procedureは、一連の手順に従って実行されるSQL構文をCALL function();の形で実行できるようにまとめたものです。
ユーザーアカウントの作成、新規データベースの作成、パスワードの変更、作成されたアカウントリストの確認の4つの機能を提供します。

MySQL DBにアクセス

MySQL Stored Procedureを実行するには、データベースがインストールされたクラスタサーバにアクセスし、MySQL DBにアクセスします。

MySQL DBにアクセスする方法は以下のとおりです。

  1. クラスタサーバにSSHで直接アクセスします。

  2. 以下のコマンドを実行してMySQL DBにアクセスします。

    • <ユーザーアカウント>にユーザーアカウントを入力して実行し、Enter password:が表示されたらアカウントのパスワードを入力します。
    $ mysql -h mysql.local -u <ユーザーアカウント> -p
    Enter password:パスワード
    

Stored procedureの使用方法

プロシージャ作成の確認

作成されたプロシージャを確認する方法は以下のとおりです。

  1. show databases;コマンドを実行すると表示されるDBリストで、以下のコマンドでAmbari DBにアクセスします。
    • ambari_{固有番号}の位置に、実際にアクセスするデータベースの名前を入力します。
    use ambari_{固有番号};
    
  2. show procedure status;コマンドを実行し、Ambari DBに作成された4つのプロシージャを確認します。
  • 現在使用可能なプロシージャ:CHANGE_PW、CHECK_USER、CREATE_DB、CREATE_USER
    cloudhadoop-sql-procedure1_ko

データベースの作成

データベースを作成する方法は以下のとおりです。

  1. CREATE_DBプロシージャで作成するデータベースの名前を入力します。

    • データベース名の例:new_database
    call CREATE_DB('new_database');
    
  2. show databases;コマンドを実行して新たに作成されたデータベースを確認します。
    cloudhadoop-sql-procedure2_ko

ユーザーアカウントの作成とユーザーアカウントリストの確認

ユーザーアカウントを作成する方法と、ユーザーアカウントリストを確認する方法は以下のとおりです。

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

cloudhadoop-sql-procedure3_ko

パスワードの変更

パスワードを変更する方法は以下のとおりです。

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