MySQL安全管理

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

1、访问控制

MySQL服务器的安全基础:用户应该对他们须要的数据具备适当的访问权,既不能多也不能少。mysql

访问控制:你须要给用户提供他们所需的访问权,且仅提供他们所需的访问权。sql

在平常工做中,毫不能使用root,应该建立一系列的帐号,有的用于管理,有的供用户使用,有的供开发人员使用等等。数据库

防止无心的错误:访问控制的目的不单单是防止用户的恶意企图。数据梦魇更为常见的事无心识错误的结果,如错打MySQL语句,在不适合的数据库中操做或其余一些用户错误。经过保证用户不能执行他们不该该执行的语句,访问控制有助于避免这些状况的发生。安全

2、管理用户

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;code

3.设置访问权限

在建立用户帐号后,必须接着分配访问权限。新建立的用户帐号没有访问权限。它们能登陆MySQL,但不能看到数据,不能执行任何数据库操做。htm

查看赋予用户帐号的权限:

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数据库安全管理

相关文章
相关标签/搜索