1、通过help命令查看grant的用法:

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';

GRANT ALL ON db1.* TO 'jeffrey'@'localhost';

GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';

GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

2、运维人员标胶常用的创建用户的方法:

使用grant命令在创建用户的同时进行权限的授权,具体的例子如下;

grant all privileges on db1.* to 'jeffrey'@'localhost' identified by '123456';

这一条命令等于"1、"中标红的两条命令;

3、grant命令权限:

(1)grant命令语法:

grant all privileges on dbname.* to 'username'@'locahost' identified by 'password'

grant all privileges on dbname.* to username@localhost identified by password

授权命令 对应权限 目标 库和表 用户名和客户端主机 用户密码

注意:all privleges权限不包括创建用户的权限;

(2)用法:

1)创建用户并赋予权限的方法:

mysql> grant all privileges on lc.* to 'lc'@'localhost' identified by '123456';

mysql> select user,host from mysql.user;

+-----------+------------+

| user | host |

+-----------+------------+

| root | 127.0.0.1 |

| wordpress | 172.16.1.% |

| root | ::1 |

| root | db01 |

| lc | localhost |

| root | localhost |

+-----------+------------+

6 rows in set (0.00 sec)

mysql> show grants for 'lc'@'localhost';

+-----------------------------------------------------------------------------------------------------------+

| Grants for lc@localhost |

+-----------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'lc'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |

| GRANT ALL PRIVILEGES ON `lc`.* TO 'lc'@'localhost' |

+-----------------------------------------------------------------------------------------------------------+

2 rows in set (0.00 sec)

2)创建用户和权限命令配合的方法:

mysql> create user 'lc3'@'localhost' identified by '123456';

#创建的普通用户权限是USAGE,就是没有任何的权限的;

mysql> grant all privileges on lc.* to 'lc3'@'localhost';

mysql> flush privileges;

3)授权局域网内主机远程连接数据库:

A、网段:

10.0.0.%

10.0.0.0/255.255.255.0

C、特定ip地址:

10.0.0.1

D、域名:

www.web01.com

C、linux命令行的远程连接:

mysql -uroot -p123456 -P3306 -h localhost

D、通过php服务器连接mysql服务器的代码:

<?php

//$link_id=mysql_connect('主机名','用户','密码');

$link_id=mysql_connect('10.0.0.7','lc','123456') or mysql_error();

if($link_id){

echo "mysql successful by lc!";

}else{

echo "mysql_error()";

}

?>

4、mysql ALL PRIVILEGES权限有哪些:

(1)收回权限:

revoke INSERT ON 'lc'.* from 'lc3'@'localhost';

flush privileges;

(2)查看all privileges的所有权限:

[root@db01 ~]# mysql -ulc3 -p123456 -e "show grants for 'lc3'@'localhost';" | tail -1 | tr "," "\n"

GRANT SELECT #查询

UPDATE #更新

INSERT #插入

DELETE #删除

CREATE #创建库和表

DROP #删除库和表

REFERENCES

INDEX #索引

ALTER #修改

CREATE TEMPORARY TABLES #创建临时表

LOCK TABLES #锁表

EXECUTE #执行

CREATE VIEW #创建视图

SHOW VIEW #显示视图

CREATE ROUTINE #创建存储过程

ALTER ROUTINE #显示存储过程

EVENT #事件

TRIGGER ON `lc`.* TO 'lc3'@'localhost' #触发器

根据以上的权限在给用户赋权的时候可以用逗号隔开赋权;

mysql> select * from mysql.user; #通过查看mysql库的user表来查看用户的权限

N代表没有权限,Y代表有该权限;

5、企业生产环境中如何授权用户权限:

在授权时可以授权用户最小的满足业务需求的权限,而不是一味的授权"ALL PRIVILEGES"。

(1)博客,cms等产品的数据库授权:

对于web连接用户授权尽量采用最小化的原则,很多开源软件都是web界面安装,因此,在

安装期间除了select,insert,update,delete 4个权限外,还需要create,drop等比较危险的权限;

grant select,insert,update,delete,create,drop on blog.* to 'blog'@'172.16.1.%' identified by '123456';

(2)生成数据库表后,要回收create,drop权限;

revoke crate,drop on blog.* from 'blog'@'localhost';

(3)生产环境针对主库(写为主,读为辅)用户的授权:

1)普通环境:

本机:lnmp,lamp环境数据库授权;

grant all privileges on blog.* to 'blog'@'172.16.1.%' identified by '123456';

应用服务器和数据库服务器不在一个主机上的授权;

grant all privileges on blog.* to 'blog'@'172.16.1.%' identified by '123456';

严格的授权:重视安全,忽略方便;

grant select,insert,update,delete on blog.* to 'blog'@'172.16.1.%' identified by '123456';

(4)生产环境从库(只读)用户的授权;

grant select on blog.* to 'blog'@'172.16.1.%' identified by '123456';

提示:这里表示给172.16.1.0/24的用户blog管理blog数据库的所有表(*表示所有表),只读

权限(select),密码为'123456';

12、创建mysql用户及赋予用户权限的更多相关文章

  1. mysql创建本地用户及赋予数据库权限的方法示例

    大家在安装 mysql 时通常会生成一个超级用户 root,很多人之后就一直沿用这一个用户,虽然这会很方便,但超级用户权限太大,在所有地方使用它通常是一个安全隐患. 这一点跟操作系统的用户管理也是类似 ...

  2. centos添加用户并赋予管理员权限

    用centos时,root用户一般都是超级管理员使用的,一般不轻易给别人,但是有时候同事安装软件时需要root账号,又不得不给,只能重新建一个用户,并赋予管理员权限.下面介绍创建用户并赋予管理员权限的 ...

  3. mysql创建用户、赋予指定权限命令

    1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...

  4. mysql 新建用户并赋予远程访问权限

    不多说直接上代码 [root@demo /]# mysql -u root -p #登录服务器数据库 Enter password:123xxx #1.创建一个新用户 testuser 密码为 tes ...

  5. Linux创建用户并赋予Root权限

    添加普通用户 [root@server ~]# useradd test //添加一个名为test的用户[root@server ~]# passwd test //修改密码Changing pass ...

  6. linux 添加用户并赋予root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  7. linux下添加用户并赋予root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  8. linux下加入用户并赋予root权限

    1.加入用户.首先用adduser命令加入一个普通用户,命令例如以下: #adduser tommy //加入一个名为tommy的用户 #passwd tommy   //改动password Cha ...

  9. Linux添加用户并赋予root权限

    新增用户 创建一个名为qiang,其家目录位于/usr/qiang的用户 adduser -d /usr/qiang -m qiang 或直接这样,则用户的家目录会默认为/home/目录 adduse ...

随机推荐

  1. [刷题] PTA 7-64 最长对称子串

    7-64 最长对称子串 我的代码: 1 #include<stdio.h> 2 #include<string.h> 3 #define N 1001 4 5 int main ...

  2. Docker------阿里云部署私有镜像仓库

    Docker------阿里云部署私有镜像仓库   前言 公共镜像仓库 官方:https://hub.docker.com/ 基于各个软件开发或者软件提供方开发的 非官方:其它组织或公司开发的镜像,供 ...

  3. 小米华为vivooppo手机记录隐私证据查询

    1.在拨号界面输入:*#*#4636#*#* 2.在输入代码之后 手机会自动跳转到下面这个页面 就可以查看她到底拿着手机在干嘛 2 输入下面代码可以检测小米手机的各种信息 *#*#64663#*#* 

  4. xsos:一个在Linux上阅读SOSReport的工具

    xsos:一个在Linux上阅读SOSReport的工具 时间 2019-05-23 14:36:29  51CTO 原文  http://os.51cto.com/art/201905/596889 ...

  5. 如何用WINPE备份电脑系统;电脑备份 听语音

    如何用WINPE备份电脑系统:电脑备份 听语音 原创 | 浏览:1046 | 更新:2017-09-30 15:09 1 2 3 4 5 6 7 分步阅读 备份系统已经成为一种常态,我们在安装完成系统 ...

  6. SPEC 2000 整形和浮点性能测试结果是各项基准程序得分的几何平均值,几何平均值是 n 个数连乘之 后再开 n 次根号

    SPEC 2000 能够生成多种格式的测试结果报表,包括 asc,ps,raw,pdf,html 等格式,报 表所在目录为/home/sepc2000­all/result. 整形和浮点性能测试结果是 ...

  7. python基础之pip、.pyc、三元运算、进制、一切皆对象、可变与不可变类型

    一.pip(下载工具==yum) 1.重点(必须掌握的) 列出已安装的包 pip list 安装要安装的包 pip install xxx 安装特定版本 pip install django==1.1 ...

  8. mysql基础之视图、事务、索引、外键

    一.视图 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用 ...

  9. Apple iWork(Pages、Numbers、Keynote)11.0 发布

    苹果今天将其专为 iOS 和 macOS 设备设计的 iWork 应用套件更新为版本 11,引入了许多新功能和改进功能. Pages 文稿. 文档高手,精美不言而喻. 进一步了解 Pages 文稿 & ...

  10. GO学习-(35) Go实现日志收集系统4

    Go实现日志收集系统4   到这一步,我的收集系统就已经完成很大一部分工作,我们重新看一下我们之前画的图: 我们已经完成前面的部分,剩下是要完成后半部分,将kafka中的数据扔到ElasticSear ...