MySQLユーザーの作成、承認

4379 ワード

一、ユーザーを作成する:
コマンド:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
説明:username-作成するユーザー名、host-ユーザーがどのホストにログインできるかを指定し、ローカルユーザーがlocalhostを使用できる場合、ユーザーが任意のリモートホストからログインできるようにするには、ワイルドカードを使用します.password-このユーザのログインパスワードは、パスワードが空であるもよいし、空であればパスワードを必要とせずにサーバにログインすることができる.
例:CREATE USER'dog'@'localhost'IDENTIFIED BY'123456';
            CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
            CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
            CREATE USER 'pig'@'%' IDENTIFIED BY '';
            CREATE USER 'pig'@'%';
二、授権:
コマンド:GRANT privileges ON databasename.tablename TO 'username'@'host'
説明:privileges-ユーザーの操作権限、例えばSELECT、INSERT、UPDATEなど.権限を付与する場合はALL.;Databasename-データベース名、tablename-テーブル名、ユーザーにすべてのデータベースとテーブルに対する対応する操作権限を付与する場合は*.*.
例:GRANT SELECT,INSERT ON test.user TO 'pig'@'%';
            GRANT ALL ON *.* TO 'pig'@'%';
注意:上記のコマンドで権限を与えられたユーザーは、他のユーザーに権限を与えることはできません.そのユーザーに権限を与えたい場合は、次のコマンドを使用します.
           GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
三.ユーザーパスワードの設定と変更
コマンド:SET PASSWORD FOR'username'@'host'=PASSWORD('newpassword');
現在登録されているユーザ用SET PASWORD=PASWORD(「newpassword」)であれば;
例:SET PASSWORD FOR'pig'@'%'=PASSWORD("123456");
四.ユーザー権限の取り消し
コマンド:REVOKE privilege ON databasename.tablename FROM 'username'@'host';
説明:privilege,databasename,tablename-同授権部分.
例:REVOKE SELECT ON*.* FROM 'pig'@'%';
注意:ユーザーに「pig'@'%」の権限を与えた場合、GRANT SELECT ON test.user TO'pig'@'%'は、REVOKE SELECT ON*.* FROM 'pig'@'%';コマンドは、そのユーザによるtestデータベースにおけるuserテーブルのSELECT操作を取り消すことはできない.逆に、GRANT SELECT ON*.* TO 'pig'@'%';REVOKE SELECT ON test.user FROM 'pig'@'%';コマンドは、testデータベースのuserテーブルに対するユーザのSelect権限を取り消すこともできない.
詳細はコマンドSHOW GRANTS FOR'pig'@'%';表示
五.ユーザーの削除
コマンド:DROP USER'username'@'host';
PS:
  
 SELECT * FROM mysql.user;
CREATE USER 'ad-dev'@'%' IDENTIFIED BY '123';
GRANT ALL ON *.* TO 'ad-dev'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;

リモートアクセス:
xusongqin@xusongqin-A75MG:/usr/local/mysql$
netstat -an | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN    
tcp        0      0 127.0.0.1:35443         127.0.0.1:3306          ESTABLISHED
tcp        0      0 127.0.0.1:3306          127.0.0.1:35443         ESTABLISHED
tcp        0      0 127.0.0.1:35497         127.0.0.1:3306          ESTABLISHED
tcp        0      0 127.0.0.1:3306          127.0.0.1:35498         ESTABLISHED
tcp        0      0 127.0.0.1:3306          127.0.0.1:35493         ESTABLISHED
tcp        0      0 127.0.0.1:35493         127.0.0.1:3306          ESTABLISHED
tcp        0      0 127.0.0.1:3306          127.0.0.1:35497         ESTABLISHED
tcp        0      0 127.0.0.1:35498         127.0.0.1:3306          ESTABLISHED
Netstatは、最初のリスニングがmysqlであることを示すが、リスニングは127.0.0.1であり、sudo gedit/etc/initを表示する.d/mysql/my.conf
のbind-address=127.0.0.1このコメントを削除すると、リモートアクセスが可能になります.
xusongqin@xusongqin-A75MG:/usr/local/mysql$
sudo netstat -an|grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN    
tcp        1      0 127.0.0.1:35443         127.0.0.1:3306          CLOSE_WAIT
tcp        0      0 127.0.0.1:3306          127.0.0.1:35443         FIN_WAIT2 
tcp        1      0 127.0.0.1:35497         127.0.0.1:3306          CLOSE_WAIT
tcp        0      0 127.0.0.1:3306          127.0.0.1:35498         FIN_WAIT2 
tcp        0      0 127.0.0.1:3306          127.0.0.1:35493         FIN_WAIT2 
tcp        1      0 127.0.0.1:35493         127.0.0.1:3306          CLOSE_WAIT
tcp        0      0 127.0.0.1:3306          127.0.0.1:35497         FIN_WAIT2 
tcp        1      0 127.0.0.1:35498         127.0.0.1:3306          CLOSE_WAIT