为了数据库的安全。我们必须要重视mysql密码。
在此介绍三种简单实用的命令
1
SET PASSWORD FOR root=PASSWORD('quan.20130801');
FLUSH PRIVILEGES;
2
mysqladmin -uroot -pOld_passwd password New_passwd
3
#用mysql客户程序
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='hunte';
mysql> FLUSH PRIVILEGES;
为某个数据库添加某个用户管理员
//创建用户
mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:jeecn 密码为:jeecn 的用户。
//退出后登录一下
mysql>exit;
@>mysql -u jeecn -p
@>输入密码
mysql>登录成功
//授权jeecn用户拥有jeecn数据库的所有权限
@>grant all privileges on jeecnDB.* tojeecn@localhost identified by ‘jeecn’;
//刷新系统权限表
mysql>flush privileges;
/如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on jeecnDB.* tojeecn@localhost identified by ‘jeecn’;
//刷新系统权限表。
mysql>flush privileges;
mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
取消权限和删除用户
取消权限和删除用户作为数据库的管理员,既然能够创建用户和授权,同样也可以取消授权和删除用户。要取消某个用户的权限,可以使用REVOKE语句。该语句的语法格式如下:
Revoke privileges (columns) on what from user ;
其中privileges是要取消的权限,user是要被取消权限的用户名。
示例:
本教程来自 http://www.isstudy.com
下面的代码实现了取消sss用户的所有权限的功能。
mysql> revoke all on *.* from sss@localhost ;
Query OK, 0 rows affected (0.00 sec)
REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权限,用户仍然可以连接到服务器。要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。该语句的语法格式如下:
Delete from user where user = "user_name" and host = "host_name" ;
使用DELETE删除用户sss,代码如下:
mysql> use mysql
Database changed
mysql> delete from user where user='sss' and host='localhost' ;
mysql>flush privileges ;
Query OK, 1 row affected (0.02 sec)
其中,delete用于删除用户,flush告诉服务器重新加载授权表。