数据库服务器通常包含关键的数据,确保这些数据的安全和完整需要利用访问控制。

一、访问控制

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访问权限。被撤销的访问权限必须存在,否则会出错。

Mysql User表权限字段说明全介绍

4.更改口令

SET PASSWORD FOR user = Password('passworded');

Password()函数进行加密。

在不指定用户名时,SET PASSWORD更新当前登录用户的口令。

可以借鉴那啥快看MySql(五):MySQL数据库安全管理

最新文章

  1. 微信的audio无法自动播放的问题
  2. linux 命令行 光标移动技巧
  3. 转:EClipse 10个最有用的快捷键
  4. asp.net中XmlDocument解析出现出错,处理特殊字符
  5. jQuery validate入门
  6. HDU 1269 迷宫城堡(强连通)
  7. shell之路【第四篇】输入输出重定向
  8. ELK-ElasticSearch索引详解
  9. 本地访问虚拟机redis
  10. C++程序设计方法3:自动类型转换
  11. Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框
  12. do-while语句及for语句(初学者)
  13. linux中fork()函数详解【转】
  14. 关系测试# 或 print(s2-s)Python 集合
  15. MySQL--Ansible推送密钥实现免密码登录
  16. 【JQuery】jQuery中的常用方法小结
  17. PS制作gif动图教程
  18. L-BFGS算法介绍
  19. CCF CSP 201509-2 日期计算
  20. AbstractBeanDefinition:lenientConstructorResolution属性源码分析

热门文章

  1. 基于OpenCV的双目视觉匹配测距系统
  2. sqli_labs学习笔记(一)Less-1~Less-20
  3. linux---> siege压力测试工具使用
  4. HDU-2647 Reward(链式前向星+拓扑排序)
  5. HanLP《自然语言处理入门》笔记--2.词典分词
  6. devops与CICD
  7. AWS 入门使用
  8. vuex之state(一)
  9. Django自动化测试平台项目案例
  10. 05讲基础篇:某个应用的CPU使用率居然达到100%,我该怎么办