一、关于MySQL权限的几点常识:

1、MySQL的权限系统主要用来验证用户的操作权限。

2、在MySQL内部,权限信息存放在MySQL数据库的granttable里。当mysql启动后,granttable里的信息会写入内存。

3、MySQL 使用user name 加 host name 来作为标识符。

通过这种标识符,可以用来区分不同host上的相同的user name。

4、MySQL 权限控制有2种策略:

1)根据密码是否正确来控制客户端的连接。

2)假设可以正常connect,server还可以检查每个satement是否有权限去执行。如果只有某张表的select 权限,就不能进行drop 操作。

5、如果用户的权限改变,当前已连接的会话用户不会受影响,下次登录才会生效。

二、关于MySQL的几个有关权限表的含义:

user:用户账号、全局权限

db:库级别权限

host:废弃

tables_priv:表级别权限

colums_priv:列级别权限

procs_priv:存储过程和存储函数相关的权限

proxies_priv:代理用户权限

三、MySQL用户账号的创建规则

用户名@主机

用户名:16字符以内

主机:

主机名:www.test.com,mysql

IP:192.168.2.1

网络地址:192.168.0.0/255.255.0.0

通配符:%,192.168.%.%,%.test.com

四、MySQL的用户权限级别

服务管理类:super

库:CREATE

表:DELETE、ALTER

列:INSERT、SELECT、UPDATE

更多级别可参考MySQL官方文档

五、与权限相关的几个命令

GRANT 权限,... ON [对象类型] db.{table|routine} TO 'username'@'host' [INDENTIFIED BY 'password'];

REVOKE 权限,... ON [对象类型] db.{table|routine} FROM 'username'@'host';

SHOW GRANTS FOR 'username'@'host';

CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];

DROP USER 'username'@'host';

RENAME USER old_name TO new_name;

六、权限的操作命令举例

查看当前数据库的所有用户:

select user,host,password from mysql.user;

给用户赋予super权限(super和ALL PRIVILEGES都可以):

GRANT super ON *.* TO 'mysql'@'localhost';

GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost';

删除用户的super权限(super和ALL PRIVILEGES都可以):

REVOKE super ON *.* FROM 'mysql'@'localhost';

REVOKE ALL PRIVILEGES ON *.* FROM 'mysql'@'localhost';

查看赋予用户的权限

SHOW GRANTS FOR 'mysql'@'localhost';

七、MySQL的问题处理

1、MySQL登录密码忘记时的恢复操作

启动mysql_safe时传递两个参数:

--skip-grant-tables      跳过授权表

--skip-networking       为了安全,防止网络登录

登录方式一:

修改/etc/init.d/mysql

登录方式二:

直接在my.cnf配置

[mysqld]

skip-grant-tables

skip-networking

而后修改密码:

通过更新授权表方式直接修改其密码,而后移除此两个选项重启服务器

UPDATE user SET PASSWORD=PASSWORD('123456') WHERE User='root'

2、客户端连接MySQL数据库速度慢的问题

直接在my.cnf配置,关闭DNS的反向解析参数

[mysqld]

skip-name-resolve

MySQL的用户和权限介绍的更多相关文章

  1. 禁止、允许MySQL root用户远程访问权限

    关闭MySQL root用户远程访问权限: use mysql; update user set host = "localhost" where user = "roo ...

  2. MySQL高级学习笔记(二):mysql配置文件、mysql的用户与权限管理、mysql的一些杂项配置

    文章目录 mysql配置文件 二进制日志log-bin 错误日志log-error 数据文件 两系统 Myisam存放方式 innodb存放方式 如何配置 mysql的用户与权限管理 MySQL的用户 ...

  3. mysql 创建用户, 分配权限, 删除用户

    通过create user 命令来创建用户, 有两种方式:(只介绍通过 create user 命令, 直接往user表中插入数据的方式,这里就不说了) 创建用户的同时, 指定用户可登录的主机和密码 ...

  4. Mysql新增用户,权限管理

    MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant selec ...

  5. mysql数据库用户和权限管理记录

    一.MySQL用户的基本说明: 1.1 用户的基本结构MySQL的用户:用户名@主机 ■用户名:16个字符以内■主机:可以是主机名.IP地址.网络地址等主机名:www.111cn.net,localh ...

  6. Linux下给mysql创建用户分配权限

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  7. 改变mysql数据库用户的权限

    mysql> grant all on *.* to test@'%';Query OK, 0 rows affected (0.00 sec) mysql> flush privileg ...

  8. mysql 给用户赋值权限

    解决办法 grant all privileges on *.* to joe@localhost identified by '1'; flush privileges; 拿 joe 1 登陆 附: ...

  9. mysql的用户访问权限规划

    看了mysql的关于用户权限和安全的管理,感觉看起来还是不太好理解,首先mysql的连接方式是需要核对三个要素:user.passwd. host.而且这个user和passwd并不是o上面的user ...

随机推荐

  1. <Oracle Database>数据字典

    数据字典 数据字典是由Oracle服务器创建和维护的一组只读的系统表,它存放了有关数据库和数据库对象的信息,Oracle服务器依赖这些信息来管理和维护Oracle数据库. 数据字典分为两大类:一种是基 ...

  2. int 和 string 相互转换(简洁版)

    string int2str(int x) { return x ? num2str(x/10)+string(1,x%10+'0') : "";} int str2int(str ...

  3. 升级到win8.1右键响应慢

    网上很多资料都是在显卡上做文章,试了N次确定不是这个问题. 后来查到这个好用了.以管理员身份运行 下面代码保存bat即可 regsvr32 /u /s igfxpph.dll reg delete H ...

  4. 使用vim在Linux下编写C语言程序

    1.进入字符界面 2.创建文件夹用于存放源文件 mkdir helloworld    //创建文件夹命令 cd helloworld        //进入新建的文件夹,这里应该说目录比较好,win ...

  5. 一个事务复制的bug--更新丢失 续

    阅读本文之前请参考http://www.cnblogs.com/stswordman/p/3258897.html 最近又做了一个case,环境是sql server 2008 R2. 客户添加了一个 ...

  6. HTML5学习生涯1--touchmove中遇到的问题

    在使用html5做在手机上显示轮播图片的效果时突然遇到touchmove事件在touchstart事件之后只触发了一次touchmove之后和touchend一起触发了一次,咦,这是怎么回事?怎么不和 ...

  7. file /usr/share/mysql/... conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_ 64 MySQL安装

    在CentOS 6.5安装MySQL 5.6.17,安装到最后一个rpm文件MySQL-server时 安装命令是:rpm -ivh MySQL-server-5.6.17-1.el6.x86_64. ...

  8. centos git 服务器搭建

    1.安装git sudo yum -y install git 2.创建用户与授权 # 找到 git_shell whereis git_shell /usr/bin/git-shell # 创建 g ...

  9. 继续送假期干货——响应式图片工具smartImg

    中午看<众妙之门>看到一个响应式图片处理工具(点此查看)的介绍,然后就心血来潮想着不妨自己写一个基于JQ的吧,于是就又有了这么一个干货给大家. smartImg 的全部文件可以从我的Git ...

  10. DeviceOne 竟然做出来如此复杂的App

    分享来自DeviceOne论坛 此文章分享自DeviceOne的论坛,论坛上的用户分享,下面有二维码扫描,可以进行安装和试用.支持android和ios两个 操作系统. 这个还没做完,目前已经完成了初 ...