MySQL添加用户、删除用户、授权、回收权限
MySQL用户管理与权限控制MySQL是一个流行的关系数据库管理系统,用户管理和权限控制是它的一个重要方面。本文将详细介绍MySQL中的用户管理和权限控制,包括添加用户、删除用户、授权、回收权限等操作。一、创建用户在MySQL中,可以使用INSERT语句创建用户。例如,创建一个名为"test"的用户,密码为"1234",只能在本地登录: ```sql mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); ```注意,如果想让用户可以远程登录,可以将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器或某个网段可以远程登录。二、授权授权是MySQL中的一个重要概念,用于控制用户对数据库的访问权限。授权格式为: ```sql grant权限on数据库.* to用户名@登录主机identified by "密码"; ```例如,为用户"test"授予testDB数据库的所有权限: ```sql mysql> grant all privileges on testDB.* to test@localhost identified by '1234'; mysql> flush privileges; ```也可以指定某库的部分权限给某用户本地操作: ```sql mysql> grant select,update on testDB.* to test@localhost identified by '1234'; mysql> flush privileges; ```常用的权限有select、insert、update、delete、alter、create、drop等。三、删除用户可以使用DELETE语句: ```sql mysql> Delete FROM user Where User='test' and Host='localhost'; mysql> flush privileges; ```也可以删除账户及权限: ```sql >drop user用户名@'%'; >drop user用户名@localhost; ```四、修改指定用户密码可以使用UPDATE语句修改用户密码: ```sql mysql> update mysql.user set password=password('新密码') where User="test" and Host="localhost"; mysql> flush privileges; ```五、撤销已经赋予用户的权限撤销权限可以使用REVOKE语句,语法与GRANT相似,只需要将关键字"to"换成"from": ```sql mysql> revoke all on *.* from dba@localhost; ```六、MySQL授权注意事项*授权后,该用户只有重新连接MySQL数据库,权限才能生效。 *如果想让授权的用户,也可以将这些权限grant给其他用户,需要选项"grant option"。 *数据库权限最好由DBA来统一管理。补充:MySQL授权表共有5个表:user、db、host、tables_priv和columns_priv。授权表的内容有如下用途: * user表:列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。 * db表:列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。通过本文,我们了解了MySQL中的用户管理和权限控制的基本概念和操作步骤,包括创建用户、授权、删除用户、修改密码、撤销权限等。正确地使用这些操作可以确保数据库的安全和稳定性。
用户评论