MySQL安全管理
数据库服务器通常包含关键的数据,确保这些数据的安全和完整需要利用访问控制。
一、访问控制
MySQL服务器的安全基础:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。
访问控制:你需要给用户提供他们所需的访问权,且仅提供他们所需的访问权。
在日常工作中,绝不能使用root,应该创建一系列的账号,有的用于管理,有的供用户使用,有的供开发人员使用等等。
防止无意的错误:访问控制的目的不仅仅是防止用户的恶意企图。数据梦魇更为常见的事无意识错误的结果,如错打MySQL语句,在不适合的数据库中操作或其他一些用户错误。通过保证用户不能执行他们不应该执行的语句,访问控制有助于避免这些情况的发生。
二、管理用户
MySQL用户账号和信息存储在名为mysql的MySQL数据库中。一般不需要直接访问mysql数据库和表,但有时需要直接访问。需要直接访问他的时机之一是在需要获得所有用户账号列表时。
USE mysql;
SELECT user,host FROM user;
1.创建用户账号
CREATE USER username IDENTIFIED BY 'password';
为用户账号重命名:RENAME USER username TO otherusername;
2.删除用户账号
DROP USER username;
3.设置访问权限
在创建用户账号后,必须接着分配访问权限。新创建的用户账号没有访问权限。它们能登录MySQL,但不能看到数据,不能执行任何数据库操作。
查看赋予用户账号的权限:
SHOW GRANTS FOR username;
+————————————————————-+
| Grants for username@% |
+——————————————————— —+
| GRANT USAGE ON *.* TO 'username'@'%' |
+————————————————————-+
为设置权限,使用GRANT语句。GRANT要求你至少给出以下信息:
要授予的权限;
被授予访问权限的数据库或表;
用户名。
Example:
GRANT SELECT ON database.* TO username;
分析:此GRANT允许用户在database数据库的所有表(databasename.*)上使用SELECT。用户username对database数据库中的所有数据具有只读访问权限。
GRANT的反操作为REVOKE,用它来撤销特定的权限。
REVOKE SELECT ON database.* FROM username;
撤销用户username的SELECT访问权限。被撤销的访问权限必须存在,否则会出错。
4.更改口令
SET PASSWORD FOR user = Password('passworded');
Password()函数进行加密。
在不指定用户名时,SET PASSWORD更新当前登录用户的口令。
可以借鉴那啥快看的MySql(五):MySQL数据库安全管理
MySQL安全管理的更多相关文章
- ch4 MySQL 安全管理
第 4 章 MySQL 安全管理 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司 ...
- MySQL性能调优与架构设计——第4章 MySQL安全管理
第4章 MySQL安全管理 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司的一切 ...
- 第 4 章 MySQL 安全管理
前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司的一切.本章将针对 MySQL 的 ...
- 第 13 章 可扩展性设计之 MySQL Replication
前言: MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server ...
- mysql性能调优与架构设计笔记
1.mysql基本介绍 mysql支持多线程高并发的关系型数据库; 数据库存储引擎InnoDB.MyISAM; mysql快速崛起的原因就是他是开源的; 性能一直是mysql自豪的一大特点; 2.my ...
- MySQL 文章目录
MySQL系列: MySQL CREATE TABLE语法 MySQL 复制表结构 MySQL 对比数据库表结构 MySQL 处理插入过程中的主键唯一键重复值办法 MySQL 启动原理剖析 MySQL ...
- MySql(十三):MySql架构设计——可扩展性设计之 MySQL Replication
一.前言 MySQL Replication能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server 的 Instance 中.虽然复制过程并 ...
- MySQL性能调优与架构设计——第13章 可扩展性设计之 MySQL Replication
第13章 可扩展性设计之 MySQL Replication 前言: MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instan ...
- DBA学习参考绝佳资料
原文来自:pursuer.chen 原文地址:https://www.cnblogs.com/chenmh/default.aspx?page=1 [置顶]MongoDB 文章目录 2018-02-0 ...
随机推荐
- xlwings excel(二)
常用函数和方法 Book 工作簿常用的apiwb=xw.books[‘工作簿名称'] wb.activate()激活为当前工作簿 wb.fullname 返回工作簿的绝对路径 wb.name 返回工作 ...
- HDU 3839 Ancient Messages(DFS)
In order to understand early civilizations, archaeologists often study texts written in ancient lang ...
- Oracle批量创建同义词
一.介绍 Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系.它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用 ...
- 通过 SCF Component 轻松构建 REST API,再也不用熬夜加班了
本教程将分享如何通过 Serverless SCF Component .云函数 SCF 及 API 网关组件,快速构建一个 REST API 并实现 GET/PUT 操作. 当一个应用需要对第三方提 ...
- MD5加密解密以及设置salt(盐值)
MD5算法 package com.oracle.jsp.util; import java.security.MessageDigest; import java.security.NoSuchAl ...
- 红帽(RedHat8) RHEL8.0系统安装教程(小白都会)
可以去了解一下Red Hat8产品详情:https://www.RedHat.com/zh/enterprise-linux-8 先准备VMware Workstation 15 Pro版本,Red ...
- 【干货】国外程序员整理的 C++ 资源大全–日常工作,我觉得用处确实很大,所以分享
考到群里的纯技术文章比较少,发一篇,其实不限于C++可用,这些东西 百度文库链接10 百度云下载15 我个人感觉很有用的,因为其中有些东西时 头儿让我在项目里用的 关于 C++ 框架.库和资源的一些 ...
- css: line-height 与box-sizing
css 1.line-hight: 行高line-height,是文本行基线这件的距离,不是字体大小,它确定了各个元素框的高度增加或减少多少. 对于块级元素:定义了元素中文本基线之间的最小距离. li ...
- Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置
面试题查找重复元素并打印重复次数和重复位置,一顿懵逼,回来死磕写下来,打印指定重复次数和最大次数,其他在此基础上可以再更新 package sort; import org.testng.annota ...
- python 更改pip源
用pip安装依赖包时默认访问https://pypi.Python.org/simple/,但是经常出现不稳定以及访问速度非常慢的情况,国内厂商提供的pipy镜像目前可用的有: http://pypi ...