1.用户的创建
使用root账户登陆后
insert into mysql.user(host,user,password) values ("localhost","hbchen",password("hbchen"));
创建host为localhost的本地账号。此账号远程无法登陆。
insert into mysql.user(host,user,password) values ("%","hbchen",password("hbchen"));
创建host为%的账号,此账号远程可以登录,本地无法登陆。
2.修改用户的密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
3.用户权限的赋予
//创建一个数据库
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限
grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
//赋予一个用户root权限
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'topsecret';
PS:这里发现一个问题,把一个用户使用这条语句提升为管理员用户,密码竟然会改变。原因竟然是IDENTIFIED BY 'topsecret'导致的,去掉这一句就好了。。。
很纳闷为什么,知道的麻烦帮忙解释一下。
//取消一个用户root权限
DELETE FROM mysql.USER WHERE USER = 'root' AND Host = '%'; FLUSH PRIVILEGES;