杉哥的个人博客

mysql的用户权限管理与密码修改

root用户,超级管理员,拥有全部的权利。在mysql中,所有的用户的信息都在mysql(这里的mysql是一个数据库名)数据库下user表中!其中有三个字段比较重要:host、use、password。

创建用户:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
create user '用户名'[@'主机地址'] identified by '密码';
create user '用户名'[@'主机地址'] identified by '密码';
create user '用户名'[@'主机地址'] identified by '密码';

其中:
用户名就是允许登录的名字
主机地址是用户允许登录的ip地址或ip地址池,省略的话就代表ip地址没有限制!

删除用户:

第一种方法:

直接在mysql.user表上执行delete操作删除相应的记录就行了

第二种方法:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
drop user '用户名'[@'主机地址'];
drop user '用户名'[@'主机地址'];
drop user '用户名'[@'主机地址'];

给用户分配权限:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
grant 权限列表 on 库名.表名 to '用户名'[@'主机地址'];
grant 权限列表 on 库名.表名 to '用户名'[@'主机地址'];
grant 权限列表 on 库名.表名 to '用户名'[@'主机地址'];

回收权限:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
revoke 权限列表 on 库名.表名 from '用户名'[@'主机地址'];
revoke 权限列表 on 库名.表名 from '用户名'[@'主机地址'];
revoke 权限列表 on 库名.表名 from '用户名'[@'主机地址'];

对用户做了权限变更之后,一定记得重新加载一下权限,将权限信息从内存中写入数据库。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
flush privileges;
flush privileges;
flush privileges;

查看MySQL某个用户权限:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
show grants for 用户名
show grants for 用户名
show grants for 用户名

密码修改:

root用户修改普通用户密码:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
set password for '用户名'[@'主机地址'] = password('新密码');
set password for '用户名'[@'主机地址'] = password('新密码');
set password for '用户名'[@'主机地址'] = password('新密码');

root用户自己修改密码:

1、通过mysqladmin客户端修改,mysqladmin -hPup password 新密码 注意这里的新密码不需要加引号!

2、先以root用户登录到服务器,直接使用以下的命名来设置新密码:set password = password(‘新密码’);