Top > Ubuntu > Server > 9.10 > MySQL5.1

MySQL 覚え書き

とりあえず、ttp://hostname/phpmyadmin/ で、root / MySQL管理者パスでDB管理モードで入れる。phpMyAdmin 経由で SQL を発行して管理しよう。

MySQL管理者モード

  • root と同格の総合管理者作成
    すべてを展開すべてを収束
      1
      2
    
     
     
    
    --admin さんをパスワード scott/tiger で登録する。'WITH GRANT OPTION' で GRANT も許可となる。
    GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'scott/tiger' WITH GRANT OPTION;
  • ユーザーの新規作成・パスワード更新
    すべてを展開すべてを収束
      1
      2
      3
      4
    
     
     
     
     
    
    --username さんをパスワード newpassword で登録する。
    GRANT USAGE ON *.* TO username@localhost IDENTIFIED BY 'newpassword';
    --管理者によるパスワード変更 (usernameさんのパスワードをchangepassにする)
    SET PASSWORD FOR username@localhost = PASSWORD('changepass');
  • データベースの管理
    すべてを展開すべてを収束
      1
      2
      3
      4
      5
      6
      7
      8
    
     
     
     
     
     
     
     
     
    
    --データベースの一覧。information_schema mysql の2点(または phpmyadmin も入れた3点) があるはず。
    SHOW DATABASES;
    --userdb を作成。
    CREATE DATABASE userdb;
    --userdb を UTF-8 にする
    ALTER DATABASE userdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    --(削除) userdb を削除する
    DROP DATABASE userdb;
  • ユーザーの権利関連 (特定DB管理者モード)
    すべてを展開すべてを収束
      1
      2
      3
      4
      5
      6
      7
      8
    
     
     
     
     
     
     
     
     
    
    --username の権利確認
    SHOW GRANTS FOR username@localhost
    --username に userdb の全権限を与える
    GRANT ALL PRIVILEGES ON userdb.* TO username@localhost;
    --username2 に userdb のselect権限のみを与える
    GRANT select ON userdb.* TO username2@localhost;
    --username が userdb に対して update する権限を奪う。update 部分は他にもいろいろ流用ができる。
    REVOKE update ON userdb.* FROM username@localhost;
  • ユーザーの権利関連 (最小限)
    すべてを展開すべてを収束
      1
      2
      3
      4
      5
    
     
     
     
     
     
    
    --username に userdb の最小限の権限を与える
    GRANT SELECT,INSERT,UPDATE,DELETE
         ON userdb.*
         TO username@localhost
    FLUSH PRIVILEGES;
  • ユーザーの削除
    すべてを展開すべてを収束
      1
      2
    
     
     
    
    --一行だけ。
    DROP USER username;

特定DB管理者モード

  • 自らのパスワード変更
    • ただし、phpMyAdminにはパスワード変更の項目がちゃんと存在してる。
      すべてを展開すべてを収束
        1
      
       
      
      SET PASSWORD = PASSWORD('changepassword');
  • テーブルの一覧チェック、作成から削除まで
    すべてを展開すべてを収束
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
    
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    
    --テーブル一覧を見る
    SHOW TABLES;
    --テーブル tblhoge を作成する。列は 数値型の id、文字列型16文字の title、日付型の dt
    CREATE TABLE tblhoge (id INT, title CHAR(16), dt DATE);
    --値の代入
    INSERT INTO tblhoge(id,title,dt) VALUES(1,'hogehoge','2007-04-01');
    --値の閲覧
    SELECT * FROM tblhoge;
    --値の条件付き閲覧
    SELECT * FROM tblhoge WHERE id='1';
    --値の条件付き更新
    UPDATE tblhoge SET dt='1997-12-31' WHERE id='1';
    --値の条件付き削除
    DELETE FROM tblhoge WHERE id='1';
    --テーブルの削除
    DROP TABLE tblhoge;

一般ユーザー・Webアプリモード

  • Webアプリには基本的に CREATE/DROP は禁止(REVOKE)。明示的には SELECT INSERT UPDATE (許容するなら DELETE もだが、削除フラグで UPDATE の方が好み?) あたりか。

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 22 Jul 2011 21:58:03 JST (1525d)