{MySQL}アカウントを追加する

前述したとおり、私はflickrのデータをデータベースに移行する必要があります。
PythonでflickrAPIで取得した情報を、データベースに書き込んでいくスクリプトを作ろうと思います。
これまでのテーブル作成等の操作はすべてrootユーザーとして行ってきましたが、
外部のアプリケーションで使用するときはその必要権限に応じて別個のユーザーアカウントを作成したほうがいいです。

というわけで、今回はWorkbenchから新しいアカウントを追加する操作を行います。


アカウントの追加…の前に認証方法の変更が必要だった

※クライアントが初期設定で選んだ新しいパスワード認証のcaching_sha2_passwordに対応していなかったため、mysql_native_passwordに変更する操作を行いました。
これをしないとアカウント追加操作ができません。

  • my.iniに以下を追記する
  • [mysqld] 
    default_authentication_plugin=mysql_native_password
  • コンソールで以下のコマンドを打つ
  • $ C:\xampp\mysql\bin\mysql alter user root@localhost identified WITH mysql_native_password BY 

    初期設定でmysql_native_passwordに設定した、もしくは使用のクライアントがcaching_sha2_passwordに対応しており問題なく接続できる場合はもちろん不要な操作です。自分用メモ。
    これでもダメだったので、ポート番号3306→3307の変更と併せてインストールしなおしました、、

    参考:MYSQL8.0セットアップメモ1_20180605│airuの日記


    アカウントの追加

    認証が上手くいくようになったら、workbenchを立ち上げ、rootアカウントでデータベースに接続します。
    左カラムメニューからUsers and Previllagesを選択します。
    User一覧がでるので、下方のAdd Accountを押下してアカウント追加ウィンドウを開きます。

    新しいアカウントのユーザー名とパスワード、パスワード(確認)を入力します。

    Account Limitsで、タブに切り替えると投げられる最大クエリ数などの設定をします。

    Administrative Rolesタブで、アカウントの権限の設定を行います。

    アプリケーション用アカウントは右側のコマンド一覧から許可したいコマンドだけにするのがよさそうです。

    権限の設定を終了したら、Applyを押下しアカウント作成を実行します。

    migrationというアカウントを作成しました。

    参考:MySQL Workbench でアカウント追加│Magic Object


    Leave a Reply

    Your email address will not be published. Required fields are marked *