mysql削除ユーザーの追加

11293 ワード


mysqlユーザーの追加
(注意:MYSQL環境でのコマンドのため、後にコマンド終了記号としてセミコロンが付いています)
フォーマット:grant select onデータベース.*toユーザ名@ホストidentified by'パスワードにログイン
 
1つ目:
ユーザーcパスワードを123123に追加すると、任意のホストにログインでき、すべてのデータベースに対してクエリー、挿入、変更、削除の権限が与えられます.まずrootユーザーでMYSQLに接続し、次のコマンドを入力します.
  grant select,insert,update,delete on *.* to c@'%' Identified by '123123';
    grant all on *.* to c@'%' Identified by '123123'  with grant option;
しかし、増加したユーザーは非常に危険で、ある人がtest 1のパスワードを知っているように、インターネット上のどのパソコンにもmysqlデータベースにログインして、あなたのデータを好きなようにすることができます.解決方法は例2です.
1つ目は、ユーザーjorcenパスワードを123456に追加し、localhostにのみログインできるようにし、データベースmydbをクエリー、挿入、変更、削除する操作(localhostはローカルホスト、すなわちMYSQLデータベースがあるホストを指す)を行うことで、ユーザーはjorcenを知っているパスワードを使用し、インターネットから直接アクセスすることができません.
mysql> grant select,insert,update,delete on test.* to jorcen@localhost Identified by '123456'  with grant option;
2つ目:
jorcenにパスワードが欲しくない場合は、もう1つのコマンドをかけてパスワードを消去することができます. 
mysql> grant select,insert,update,delete on test.* to jorcen@localhost Identified by '';
mysql> grant all on test.* to jorcen@localhost Identified by '';
最後に権限をリフレッシュします.
flush privileges;
flush privileges;
flush privileges;
しかし、上記の操作は容易に現れます.
ERROR 1045 (28000): Access denied for user 'c'@'115.29.201.6' (using password: YES)
このような問題は、私はこのように解決しました.
1.ユーザーの作成
CREATE USER 'c'@'%' IDENTIFIED BY '123123';

2.授権;
grant all on *.* to c@'%'

説明:privileges–ユーザーの操作権限、例えばSELECT、INSERT、UPDATEなど(詳細リストはこの文の最後尾を参照).権限を付与する場合はALL.;Databasename–データベース名、tablename-テーブル名、ユーザーにすべてのデータベースとテーブルに対する対応する操作権限を付与する場合は*.*などの*を使用できます.例:
GRANT SELECTINSERT ON test.user TO 'c'@'%'GRANT ALL ON *.* TO 'c'@'%';

 
注意:上記のコマンドで権限を与えられたユーザーは、他のユーザーに権限を与えることはできません.そのユーザーに権限を与えたい場合は、次のコマンドを使用します.
 
 
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION

ユーザーパスワードの設定と変更
コマンド:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

現在ログインしているユーザーの場合
SET PASSWORD = PASSWORD("newpassword");

ユーザー権限の取り消し
コマンド:
REVOKE privilege ON databasename.tablename FROM 'username'@'host';

説明:privilege、databasename、tablename–同授権部分.例
REVOKE SELECT ON *.* FROM 'c'@'%';

注意:
ユーザー'c'@'%'に権限を与えた場合、GRANT SELECT ON test.user TO‘c’@'%’は、REVOKE SELECT ON*.* FROM  ‘c’@'%’;コマンドは、そのユーザによるtestデータベースにおけるuserテーブルのSELECT操作を取り消すことはできない.
逆に、GRANT SELECT ON*.* TO ‘c’@'%’;REVOKE SELECT ON test.user FROM  ‘c’@'%’;コマンドは、testデータベースのuserテーブルに対するユーザのSelect権限を取り消すこともできない.
具体的な情報はコマンドSHOW GRANTS FOR‘c’@'%';表示
ユーザーの削除
コマンド:
DROP USER ‘username’@'host’;

mysql dropとdeleteメソッドでユーザーの違いを削除
dropの方法を学んでユーザーを削除する時、本の上で言ったようにずっと操作に成功していないで、それからネット上でその他の資料を調べて、やっとdropの方法を理解して、貼ってみんなと分かち合います.
 
(方法一)drop userユーザー名;
構文:drop userユーザー名;
役割:yanというユーザーを削除するなど、既存のユーザーを削除します(drop user yan;)デフォルトではyan@「%」というユーザーが削除されますが、yan@「localhost」、yan@「ip」などの他のユーザーがいる場合は、一緒に削除されません.ユーザーyan@「localhost」が1人しか存在しない場合、文(drop user yan;)を使用するとエラーが発生します.(drop user yan@「localhost;)で(ユーザー名@マシン名)のマシン名を特定できない場合はmysqlのuserテーブルで検索できます.user列はユーザー名、host列はマシン名に対応します.
(方法2)delete from user where user=「ユーザー名」and host=「localhost」;
deleteもユーザーを削除する方法で、例えばyan@「localhost」ユーザーを削除する場合は可能です(delete from user where user=「yan」and host=「localhost」;)
 
注意:dropで削除されたユーザーは、userテーブルのデータを削除するだけでなく、dbや他の権限テーブルなどのコンテンツも削除します.(方法2)userテーブルの内容を削除しただけで,他のテーブルは削除されず,後で削除したユーザと同じ名前を付けると権限が継承される.
 
典型的なデータベース構築テーブル、ユーザー構築プロセス:
 
    localhost           
mysql> create user 'pcom'@'localhost' identified by 'aaa7B2249'; 
Query OK, 0 rows affected (0.00 sec) 
     
      
mysql> create database pcom default character set utf8 collate utf8_bin; 
Query OK, 1 row affected (0.00 sec) 
     
       ,           
mysql> grant all on pcom.* to 'pcom'@'localhost'; 
Query OK, 0 rows affected (0.00 sec) 
     
   IP        ,   :         ,            
mysql> grant all on pcom.* to 'pcom'@'192.168.0.0/255.255.0.0' identified by 'aaa7B2249'; 
Query OK, 0 rows affected (0.00 sec) 
     
   
mysql> grant all on pcom.* to 'pcom'@'172.20.0.0/255.255.0.0' identified by 'aaa7B2249'; 
Query OK, 0 rows affected (0.00 sec) 
     
Done!

付表:MySQLでの操作権限
 
 
ALTER
Allows use of ALTER TABLE. 
    
ALTER ROUTINE 
Alters or drops stored routines. 
    
CREATE
Allows use of CREATE TABLE. 
    
CREATE ROUTINE 
Creates stored routines. 
    
CREATE TEMPORARY TABLE
Allows use of CREATE TEMPORARY TABLE. 
    
CREATE USER
Allows use of CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES. 
    
CREATE VIEW
Allows use of CREATE VIEW. 
    
DELETE
Allows use of DELETE. 
    
DROP
Allows use of DROP TABLE. 
    
EXECUTE
Allows the user to run stored routines. 
    
FILE 
Allows use of SELECTINTO OUTFILE and LOAD DATA INFILE. 
    
INDEX
Allows use of CREATE INDEX and DROP INDEX. 
    
INSERT
Allows use of INSERT. 
    
LOCK TABLES 
Allows use of LOCK TABLES on tables for which the user also has SELECT privileges. 
    
PROCESS 
Allows use of SHOW FULL PROCESSLIST. 
    
RELOAD 
Allows use of FLUSH. 
    
REPLICATION 
Allows the user to ask where slave or master 
    
CLIENT 
servers are. 
    
REPLICATION SLAVE 
Needed for replication slaves. 
    
SELECT
Allows use of SELECT. 
    
SHOW DATABASES 
Allows use of SHOW DATABASES. 
    
SHOW VIEW
Allows use of SHOW CREATE VIEW. 
    
SHUTDOWN 
Allows use of mysqladmin shutdown. 
    
SUPER 
Allows use of CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL SQL statements. Allows mysqladmin debug command. Allows one extra connection to be made if maximum connections are reached. 
    
UPDATE
Allows use of UPDATE. 
    
USAGE 
Allows connection without any specific privileges.