mysql 账户管理_mysql账户管理

新建账户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'

->     IDENTIFIED BY 'monty' WITH GRANT OPTION;  授予用户monty一切权限

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'

->     IDENTIFIED BY 'monty' WITH GRANT OPTION;授予用户monty一切权限,服务器不同

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

->     ON menagerie.*

->     TO 'custom'@'localhost'

->     IDENTIFIED BY 'custom';    授予用户custom对数据库menagerie某些权限

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

->     ON capb.products

->     TO 'capb'@'localhost'

->     IDENTIFIED BY 'capb';  授予用户capb对数据库capb的表products某些权限

mysql> GRANT SELECT,UPDATE

->     ON cap.products

->     TO 'cap'@'localhost'

->     IDENTIFIED BY 'cap';   授予用户cap对数据库cap的表products某些权限

mysql> GRANT USAGE ON *.* TO 'gxj'@'localhost' identified by '5201314';创建用户gxj,但不授予任何权限,相当于空账户。

除了grant语句,还可用insert创建账户,管理员进入mysql后,use mysql,在表user中插入账户信息即可,当你用INSERT创建账户后腰使用FLUSH PRIVILEGES告诉服务器重读授权表。否则,只有重启服务器后更改方会被注意到。使用 GRANT,则不需要使用FLUSH PRIVILEGES。这种方法不推荐,有兴趣的读者可查阅相关资料。

删除账户:

需以如root等管理员权限进入MySQL

mysql>use mysql

mysql>select * from user; //查看所有账户

要删除某个账户,只需删除mysql表user中对应的记录,如删除'cap'@'localhost'的用户:

mysql>delete from user where Host='localhost' and User='cap';

账户密码修改:

如root身份的管理员修改其他账户的密码,首先进入mysql,如修改用户cap的密码

mysql>set password for 'cap'@'localhost'=password('5201314');

还可以在全局级别使用GRANT USAGE语句(在*.*)来指定某个账户的密码而不影响账户当前的权限:

mysql> GRANT USAGE ON *.* TO 'cap'@'localhost' IDENTIFIED BY '5201314';

一般情况下最好使用上述方法来指定密码,你还可以直接修改user表:

mysql> UPDATE user SET Password = PASSWORD('custom')

·                       -> WHERE Host = 'localhost' AND User = 'custom';

·                mysql> FLUSH PRIVILEGES;

最后一句mysql> FLUSH PRIVILEGES;不可少,否则更改不起作用。

普通用户无权利修改其他用户的密码,但可修改自身的密码,出可采用以上方法外,还可简化,如用户cap修改自身的密码

mysql>set password for 'cap'@'localhost'=password('5201314');

简化:

mysql>set password=password('5201314');

(修改密码均采用password函数加密。使用grant语句不用password函数,是因为grant语句能够自行加密。)

修改账户名称:

一般来说没必要修改账户名称,当然硬要修改的话也可以,同样只要进入mysql,修改mysql的user表即可,在此不详述。

限制账户资源

在MySQL较高版本中,你可以为具体账户限制下面的服务器资源:

·         账户每小时可以发出的查询数

·         账户每小时可以发出的更新数

·         账户每小时可以连接服务器的次数

创建账户的同时限制账户资源,如:

mysql> GRANT ALL privileges ON cap.* TO 'cap'@'localhost'

->     IDENTIFIED BY '5201314'

->     WITH MAX_QUERIES_PER_HOUR 20    //限制每小时查询次数

->          MAX_UPDATES_PER_HOUR 10    //限制每小时更新数据库的次数

->          MAX_CONNECTIONS_PER_HOUR 5  //限制每小时链接数据库的次数

->          MAX_USER_CONNECTIONS 2;     //限制用户同时连接的数量

要想设置或更改已有账户的限制,在全局级别使用GRANT USAGE语句(在*.*)。下面的语句可以将cap的查询限制更改为100:

mysql> GRANT USAGE ON *.* TO 'cap'@'localhost'

->     WITH MAX_QUERIES_PER_HOUR 100;

要想将所有账户当前的记数重设为零,可以执行FLUSH USER_RESOURCES语句。还可以通过重载授权表来重设记数(例如,使用FLUSH PRIVILEGES语句或mysqladmin reload命令)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值