MySQLでDBを新しく作るときはたいてい必ずそれ専用のユーザーをつくると思います。
そうすることで、他のDBへのアクセス制限ができて、しっかりと区別できるわけですね。

このDB作成作業、ほぼ流れ作業化しているので、メモっときます。

  1. パスワードを決める
    ランダムパスワードを作るならいろんなサイトがある。
    (たとえばランダムパスワード生成CGI
    外部サイトを使うのが怖ければmkpasswdというコマンドがlinuxにはあるので、これを使うといいかも。ただし、こちらはyumでexpectをインストールする必要がある。

  2. DB作成権限があるユーザーでMySQLにログイン(たいていはroot)
    mysql -u ユーザー名 -p
  3. 次のコマンドを実行する
    もちろん「新規ユーザー名」「新規DB名」「パスワード」の部分はぞれぞれに応じて変更すること
    (自分の場合は「新規ユーザー名」=「新規DB名」)

    CREATE USER '新規ユーザー名'@'localhost' IDENTIFIED BY  'パスワード';
    GRANT USAGE ON * . * TO  '新規ユーザー名'@'localhost' IDENTIFIED BY  'パスワード' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
    CREATE DATABASE IF NOT EXISTS  `新規DB名` ;
    GRANT ALL PRIVILEGES ON  `新規ユーザー名` . * TO  '新規ユーザー名'@'localhost';
    

これで、新規DBとそのDB専用のユーザーができました。
ちなみに、この状態だとlocalhostからの接続しか許可されていない状態になるので、外部からdbを使う場合はそれ用の設定がさらに必要になります。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>