mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'
->
//本地操作的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO ' root '@'%'
->
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
1.新建用户。
//登录MYSQL
@>mysql
@>密码
//创建用户
mysql>
//刷新系统权限表
mysql>flush
这样就创建了一个名为:phplamp
然后登录一下。
mysql>exit;
@>mysql
@>输入密码
mysql>登录成功
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant
//刷新系统权限表
mysql>flush
mysql>其它操作
3.删除用户。
@>mysql
@>密码
mysql>DELETE
mysql>flush
//删除用户的数据库
mysql>drop
4.修改指定用户密码。
@>mysql
@>密码
mysql>update
mysql>flush
mysql5.1以后:::
一.添加用户
1、选择数据表
语句如下:use mysql;
2、在mysql的user表中增加连接用户帐号:
这里不要直接使用INSERT语句添加user记录,使用INSERT可能出现:
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误。不过早期的MYSQL版本笔者倒没出现这个错误,因为天缘一直都是直接修改user表或直接使用INSERT语句完成,后来升级 MYSQL到5.1的时候,发现可能会出现这个错误。
建议使用GRANT语句进行授权,语句如下:
GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
上句:
“username”替换为将要授权的用户名,比如clientusr;
“password”替换为clientusr设置的密码;
3、可访问数据表授权
创建好帐户之后,就开始给上面的common user进行数据表授权,步骤3中增加的连接用户默认权限都是“N”的,必须在db表中为该帐户授权,允许其访问专用数据库,当然超级用户就不说了。
使用下面语句:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON tablename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
本语句中的权限根据实际需要确定:
"tablename"替换为授权访问的数据表table名
"username"是步骤2授权用户名
"password"是步骤2授权用户的设置密码
这样就为该用户授予了对某数据表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP权限。
4、生效授权,创建完毕
一句话即可:FLUSH PRIVILEGES;
本机dos试验:
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp","
phplamp");
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
mysql> grant usage on *.* to 'phplamp'@'localhost' identified by 'phplamp' with
grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,password from user limit 1,3;
+-----------+---------+-------------------------------------------+
| host | user | password |
+-----------+---------+-------------------------------------------+
| localhost | phplamp | *874B6258A2909F5E6B749595FCCC3A39C96D6F68 |
| % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+---------+-------------------------------------------+
2 rows in set (0.00 sec)
二.修改指定用户密码
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";
mysql>flush privileges;
ost='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
三. 删除用户
@>mysql -u root -p
@>密码
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB; //删除用户的数据库
删除账户及权限:>drop user 用户名@'%';
>drop user 用户名@ localhost;
mysql> delete from user where user='phplamp' and host='localhost';
Query OK, 1 row affected (0.00 sec)
mysql> select host,user,password from user limit 1,3;
+------+------+-------------------------------------------+
| host | user | password |
+------+------+-------------------------------------------+
| % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)