首页 > 代码库 > Mysql用户管理和权限分配

Mysql用户管理和权限分配

一.创建用户

1.登录进入

root用户的密码初始是空,初始安装完mysql,配置环境变量后。

在命令窗口输入:

mysql –u root –p

在提示输入密码时直接回车进入。

mysql>


  • 用户表

Mysql的用户在mysql数据库的user表里。

1)选择数据库:

mysql>use mysql;


2)选择数据库后就可以执行sql查询,更新等。

mysql>selecthost,user,password from user;

host 是用户可以登录的主机地址,只有host的主机可以用该user登录mysql,password显示的是加密后的密码。


Host的含义:

192.168.1.23  固定IP

192.168.1.%  表示192.168.1网段内的

匹配所有主机

localhost  本机,localhost不会被解析成IP地址,直接通过UNIXsocket连接

127.0.0.1  本机IP,会通过TCP/IP协议连接,并且只能在本机访问;

::1 就是兼容支持ipv6的,表示同ipv4的127.0.0.1


   3)创建用户

mysql>  create user username   IDENTIFIED by  ‘password‘;

username是要创建的用户名,password的是密码,这里输入明码,在数据库里会加密。


4)修改用户名

mysql>  rename user username to new_username;

username为原来的用户名,new_username为新用户名。


5)删除用户

mysql> drop user new_username;


6)修改用户密码

    mysql>set password forusername@hostname=password(‘XXXX’);

   也可以直接用sql语句操作。

mysql> update user set password=’XXXX’ where user=’username’and host=’ hostname’;


二.分配权限

分配权限grant,收回权限revoke

  • 分配mysql所有权限给用户 

grant all on*.* to  username @localhost;

说明:@后面是hostname’


  • 给用户分配数据库权限

grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。

grant select on mydb.* to username @localhost;

grant insert on mydb.* to username @localhost;

grant update on mydb.* to username @localhost;

grant delete on mydb.* to username @localhost;

或者,用一条 MySQL 命令:

grant select, insert, update, delete on mydb.* to username @localhost;

说明:mydb 是数据库名称,mydb.*表示mydb数据库里所有对象。单个表或视图是mydb.log。log为日志表。


  • 其他命令:

grant create on ,

grant alter on ,

grant drop on

grant references(外键) on ,

grant create temporary临时表) tables on,

grant index on

grant create view on

grant show view on,

grant create routine(存储过程、函数) on,

grant execute on


  • 注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES。


本文出自 “测试” 博客,请务必保留此出处http://wanglidong.blog.51cto.com/8781265/1886964

Mysql用户管理和权限分配