MySql用户权限控制

MySql用户权限控制

本文将介绍MySql创建帐号,删除帐号,设置和介绍各种帐号的权限

创建用户帐号:  www.bitsCN.com

[sql]

CREATE USER user_name IDENTIFIED BY 'your_password';

改名

[sql]

RENAME USER old_name TO new_name;

删除用户帐号

[sql]

DROP USER user_name;

查看用户的权限可以用  www.bitsCN.com

SHOW GRANTS FOR user_name;

如果显示为:GRANT USAGE ON *.* TO 'user_name'@'%' 则表示无任何权限!!!!   前面一个*表示任意数据库,后面一个表示数据库里的任意表

注意:用户必须具有GRANT OPTION权限才能使用GRANT和INVOKE为别的用户赋予或者撤销权限

例子:赋予SELECT权限

GRANT SELECT ON testdb.* TO user_name;  表示将对testdb数据库下的所有表的SELECT权限赋予user_name用户.

撤销权限:

REVOKE SELECT ON testdb.* FROM user_name; 表示将用户对testdb数据库中所有表的SELECT权限撤销.

可以一次写多个如:GRANT SELECT, INSERT ON testdb.* TO user_name;

MySql的权限如下表所示:

ALL 除GRANT OPTION外的所有权限

ALTER 使用ALTER TABLE

ALTER ROUTING 使用ALTER PROCEDURE和DROP PROCEDURE

CREATE 使用CREATE TABLE

CREATE ROUTING 使用CREATE PROCEDURE

CREATE TEMPORARY TABLES 使用CREATE TEMPORARY TABLE

CREATE USER 使用CREATE USER、DROP USER、RENAME USER和REVOKE ALL PRIVILLEAGES

CREATE VIEW 使用CREATE VIEW

DELETE 使用DELETE

DROP 使用DROP TABLE

EXECUTE 使用CALL和存储过程

FILE 使用SELECT INTO OUTFILE和LOAD DATA INFILE

GRANT OPTION 使用GRANT和REVOKE

INDEX 使用CREATE INDEX和DROP INDEX

INSERT 使用INSERT

LOCK TABLES 使用LOCK TABLES

PROCESS 使用SHOW FULL PROCESSLIST

RELOAD 使用FFLUSH

REPLICATION CLIENT 服务器位置的访问

REPLICATION SLAVE 由复制从属使用

SELECT 使用SELECT

SHOW DATABASES 使用SHOW DATABASES

SHOW VIEW 使用SHOW CREATE VIEW

SHUTDOWN 使用mysqladmin shutdown(用来关闭MySQL)

SUPER 使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER和SET GLOBAL。还允许mysqladmin调试登录

UPDATE 使用UPDATE

USAGE 无访问权限

[sql]

更改口令

SET PASSWORD FOR user_name = PASSWORD('new_password');

或者SET PASSWORD = PASSWORD('new_password');   这个是更改自己的口令

GRANT和REVOKE可以在几个层次上控制访问权限:

整个服务器,使用GRANT ALL和REVOKE ALL;

整个数据库,使用ON database.*;

特定的表,使用ON database.table;

特定的列     ,不知道

特定的存储过程, 不知道

补充一点,

我们在linux系统下直接输入mysql时,会以本地匿名账号登陆,即''@localhost

而这个账户一开始没权限即USAGE *.* ,,所以很多时候操作都不成功。

这时我们如果只是学习的话,可以首先用root登陆即mysql -u root -p  <CR>然后输入root密码(也可以没有密码,则不加-p)

然后GRANT ALL ON *.*  FOR  ''@localhost;

这样即可。

时间: 2024-09-13 18:21:31

MySql用户权限控制的相关文章

MySQL之权限控制

最近在研究MySQL的权限,比较头疼,把一些相关的知识点和想法整理好,记录下来. ------------------------------------------------------------------------------------------------------------正文---------------------------------------------------------------------------------------------------

配置Mysql用户权限命令

查看用户权限:show grants for occ@localhost; 查看用户列表:select host,user,password from user; 先对密码加密:select password('testpwd');这样执行后 会得到一串字符串 赋予用户权限:grant all on fox.* to huli@localhost identified by password '*61DE32B297DFFDD9B848CB8F21C4BC0EDA6A48E1'; 插销用户权限:

struts2如何使用拦截器进行用户权限控制

大多数网站会设置用户权限,如过滤非法用户,用户不登录时不能进行访问,或者设置访问的权限,如部分内容仅对VIP开放等等,这些权限的控制都可以用struts2中的拦截器来实现. 下面通过一个简单的Demo来模拟这种用户权限控制的实现流程,设定三种不同身份的用户,commen为普通用户,VIP为会员用户,还有一种admin为管理员. 先看一下Demo的整体结构: 首先搭建struts2框架的开发环境(前面博客中有介绍),环境搭建完之后又再看一看如何配置struts.xml: <?xml version

MySQL用户权限管理详解_Mysql

用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库.哪些表 2. 可以限制用户对哪些表执行SELECT.CREATE.DELETE.DELETE.ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用户自己的权限是否可以授权给别的用户 一.用户授权 复制代码 代码如下: mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;  

查看 MySQL 用户权限

查看当前用户(自己)权限: show grants; 查看其他 MySQL 用户权限: show grants for aaa@localhost;

nginx、php-fpm、mysql用户权限解析

前几天学习了,在nginx下搭建wordpress博客.在<烂泥:使用nginx利用虚拟主机搭建WordPress博客>文章中,我们特别提到了有关程序运行在哪个用户下面. 这篇文章我们就特别来讲解下,nginx.php-fpm以及mysql运行在各个用户下的配置. 先来做个说明:nginx本身不能处理PHP,它只是个web服务器.当接收到客户端请求后,如果是php请求,则转发给php解释器处理,并把结果返回给客户端.如果是静态页面的话,nginx自身处理,然后把结果返回给客户端. Nginx下

MySQL用户权限(Host,User,Password)管理(mysql.user)

1:新增用户: 注:mysql数据库下user表中,Host和User为两个主键列(primary key),已经各版本下非空未设置默认字段. 登录后,切换db: mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed 新增用

javaWeb用户权限控制简单实现过程_java

最近在做一个网站类型的项目,要对用户的访问模块(权限)进行控制,所以设计并实现了一套简单的权限控制功能.  1. 数据库设计  用户:users  模块:modules SQL代码: /* Target Server Type : MYSQL Target Server Version : 50628 File Encoding : 65001 Date: 2016-08-26 10:35:28 */ SET FOREIGN_KEY_CHECKS=0; -- ------------------

导出MySQL用户权限

    在对MySQL数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限.对于这个迁移我们可以从mysql.user表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL语句即可.本文提供了生成提取用户权限的脚本并给出演示.   1.生成用户权限的脚本 [root@HKBO ~]# more exp_grant.sh #!/bin/bash #Function export user privileges pwd=123456 expgrants() { m