Mysql>grant all privileges on *.* to sfis@’%’ identified by ‘sfisuser’ with grant option;


一, 创建用户:


      命令: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 PASSWORD = PASSWORD("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';


增加新用户。

格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:

grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。

2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),

这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

如果你不想test2有密码,可以再打一个命令将密码消掉。

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

下篇我是MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。


首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。


注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。

   用户:phplamp  用户数据库:phplampDB


1.新建用户。


//登录MYSQL

@>mysql -u root -p

@>密码

//创建用户

mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));

//刷新系统权限表

mysql>flush privileges;

这样就创建了一个名为:phplamp  密码为:1234  的用户。


然后登录一下。


mysql>exit;

@>mysql -u phplamp -p

@>输入密码

mysql>登录成功


2.为用户授权。


//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.

@>mysql -u root -p

@>密码

//首先为用户创建一个数据库(phplampDB)

mysql>create database phplampDB;

//授权phplamp用户拥有phplamp数据库的所有权限。

>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';

//刷新系统权限表

mysql>flush privileges;

mysql>其它操作


/*

如果想指定部分权限给一用户,可以这样来写:

mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';

//刷新系统权限表。

mysql>flush privileges;

*/


3.删除用户。

@>mysql -u root -p

@>密码

mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";

mysql>flush privileges;

//删除用户的数据库

mysql>drop database phplampDB;


4.修改指定用户密码。

@>mysql -u root -p

@>密码

mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";

mysql>flush privileges;