回到顶部
您的当前位置: 编程语言> 数据库> MYSQL> 简单应用
Mysql数据库用户及权限相关操作
2014-11-03 23:33:43
标签: 网络整理 Mysql 数据库 用户 权限 操作
数据库相关操作
创建数据库mysql> create databasename;
选择数据库mysql> use databasename;
删除数据库

① mysql> drop databasename; //删除不提示

② mysql> mysqladmin drop databasename; //删除提示

刷新数据库

mysql> flush privileges;

MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

显示选择数据库的表mysql> show tables;
表的详细描述mysql> desc tablename;
显示当前版本
mysql> select  version();
显示当前时间
mysql> select current_date;
用户相关操作
用户管理

mysql> user mysql;  //先进入mysql数据库再执行下面操作

查看用户
mysql> select host,user,password from user;
创建用户

mysql> create user  zx_root   IDENTIFIED by 'xxxxx';  //identified by 会将纯文本密码加密作为散列值存储

修改用户

mysql> rename   user  feng  to   newuser;//mysql 5之后可以使用,之前需要使用update 更新user表

删除用户

mysql> drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

更改密码

mysql> set password for zx_root =password('xxxxxx');

mysql> update  mysql.user  set  password=password('xxxx')  where user='otheruser'

查看用户权限
mysql> show grants for zx_root;
赋予权限

mysql> grant select on dmc_db.*  to zx_root;

mysql> grant select,update,delete  ,insert  on dmc_db.*  to  zx_root;

mysql> flush privileges;

回收权限

mysql> revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错

mysql> flush privileges;

用户授权
GRANT privileges (columns)
   ON what
   TO user IDENTIFIEDBY "password"
 WITH GRANT OPTION

mysql>grant rights on database.* to 'user'@'host' identified by "pass";

① 设置权限时必须给出一下信息

  1. 要授予的权限

  2. 被授予访问权限的数据库或表

  3. 用户名

② grant和revoke可以在几个层次上控制访问权限

  1. 整个服务器,使用 grant ALL  和revoke  ALL

  2. 整个数据库,使用on  database.*

  3. 特点表,使用on  database.table

  4. 特定的列

  5. 特定的存储过程

③ user表中host列的值的意义

  1. %                  匹配所有主机

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

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

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

权限表

权限信息用user、db、host、tables_priv和columns_priv表被存储在mysql数据库中(即在名为mysql的数据库中)。

权限context
select
Select_priv
insert
Insert_priv
updateUpdate_priv
deleteDelete_priv
indexIndex_priv
alterAlter_priv
createCreate_priv数据库、表或索引
drop      Drop_priv数据库或表 
grantGrant_priv数据库或表 
referencesReferences_priv数据库或表
reloadReload_priv服务器管理
shutdownShutdown_priv服务器管理
processProcess_priv服务器管理
fileFile_priv在服务器上的文件存取