由于工作的需要,要新建一个mysql的用户,在查阅了mysql的手册之后,做了如下的一些方法记录。
#新增一个mysql用户custom,密码为obscure,只能从本机访问和操作数据库test
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on test.* TO ‘custom‘@‘localhost‘
IDENTIFIED by ‘obscure‘;
#执行完成后会发现user表中多了一条记录,db表中也多了一条记录,并且权限是写入db表的
GRANT ALL PRIVILEGES ON *.* TO ‘mysql1‘@‘localhost‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;
#直接操作user表,添加新用户
#insert语句在user表中插入记录,允许用户custom从主机localhost中用密码1234进行连接,
#但不授予全局权限(所有权限设置为默认值‘N‘)
INSERT INTO mysql.user(Host,User,Password) VALUES (‘localhost‘,‘mysql1‘,PASSWORD(‘1234‘));
INSERT INTO mysql.db(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)
VALUES(‘localhost‘,‘test‘,‘mysql1‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘,‘Y‘);
#通常若直接修改授权表,则应告诉服务器用flush privileges重改授权表,是权限修改生效
FLUSH PRIVILEGES;
#删除mysql的用户
DROP USER ‘mysql1‘@‘localhost‘;
#为安装后的最初用户root设置密码
mysqladmin -u user_name -h host_name password ‘newpwd‘;
mysql>set PASSWORD=PASSWORD(‘newpwd‘);
#在全局级别使用grant USAGE语句(在*.*)来指定某个账户的密码,而不影响账户当前的权限
mysql>GRANT USAGE ON *.* TO ‘root‘@‘localhost‘ IDENTIFIED by ‘123456‘;
#还可已直接操作表user
UPDATE user SET PASSWORD=PASSWORD(‘123456‘) WHERE Host="localhost" and User="root";
FLUSH PRIVILEGES;
本文出自 “卢瑟时节” 博客,谢绝转载!