MySQL数据库中的安全解决方案

  随着网络的普及,基于网络的应用也越来越多。网络数据库就是其中之一。通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方便,但也给不法分子造成了可乘之机。由于数据都是通过网络传输的,这就可以在传输的过程中被截获,或者通过非常手段进入数据库。由于以上原因,数据库安全就显得十分重要。因此,本文就以上问题讨论了MySQL数据库在网络安全方面的一些功能。

  帐户安全

  帐户是MySQL最简单的安全措施。每一帐户都由用户名、密码以及位置(一般由服务器名、IP或通配符)组成。如用户john从server1进行登录可能和john从server2登录的权限不同。

  MySQL的用户结构是用户名/密码/位置。这其中并不包括数据库名。下面的两条命令为database1和database2设置了SELECT用户权限。

GRANT SELECT ON database1.* to 'abc'@'server1' IDENTIFIED BY 'password1';

GRANT SELECT ON database2.* to 'abc'@'server1' IDENTIFIED BY 'password2';

  第一条命令设置了用户abc在连接数据库database1时使用password1。第二条命令设置了用户abc在连接数据库database2时使用password2。因此,用户abc在连接数据库database1和database2的密码是不一样的。

  上面的设置是非常有用的。如果你只想让用户对一个数据库进行有限的访问,而对其它数据库不能访问,这样可以对同一个用户设置不同的密码。如果不这样做,当用户发现这个用户名可以访问其它数据库时,那将会造成麻烦。

  MySQL使用了很多授权表来跟踪用户和这些用户的不同权限。这些表就是在mysql数据库中的MyISAM表。将这些安全信息保存在MySQL中是非常有意义的。因此,我们可以使用标准的SQL来设置不同的权限。

  一般在MySQL数据库中可以使用3种不同类型的安全检查:

  ·登录验证

  也就是最常用的用户名和密码验证。一但你输入了正确的用户名和密码,这个验证就可通过。

  ·授权

  在登录成功后,就要求对这个用户设置它的具体权限。如是否可以删除数据库中的表等。

  ·访问控制

  这个安全类型更具体。它涉及到这个用户可以对数据表进行什么样的操作,如是否可以编辑数据库,是否可以查询数据等等。

1 2 3 4 下一页 >全文阅读
提示:试试"← →"键,翻页更方便哦!

时间: 2024-10-06 16:55:36

MySQL数据库中的安全解决方案的相关文章

用java编写代码,实现将多套试题,读入mysql数据库中

问题描述 用java编写代码,实现将多套试题,读入mysql数据库中 我想做一个自动生成试卷的系统,供教师使用,想把多套试卷录入数据库,用java编写代码,实现将多套试题,读入mysql数据库中 解决方案 自动生成试卷,需要做一个题库吧.通过题库的随机算法生成新的试卷 解决方案二: 是将一套样题的卷子拆解成若干道题目吗?首先要实现拆分啊,好像有点难...不如上网上直接找题目来的快 解决方案三: 是的,需要做题库,试题录入题库.试卷从中随机取出.. 解决方案四: 嗯,我已经将几套试题按题型录入数据

rsyslog日志存储到mysql数据库中并利用loganalyzer进行web图形化分析管理

系统日志的重要性,相信大家都深有体会,当发生故障后,第一时间就是查看相关报错信息和日志信息,以定位问题所在,还可以基于日志,进行日志的分析,从而获取系统运行状态的一些规律,本篇就介绍关于系统日志的先关内容,具体分为: 1.rsyslog相关概念的介绍 2.自定义日志存储的信道(facility)和存储位置,让rsyslog作为服务端记录rsyslog客户端的日志信息 3.定义rsyslog的日志存储在mysql数据库中 4.利用loganalyzer实现对存储在mysql数据库中的rsyslog

odbc mfc-怎样在odbc连接的mysql数据库中获取当前数据库的所有表的名字

问题描述 怎样在odbc连接的mysql数据库中获取当前数据库的所有表的名字 我做一个列表框,要把某个mysql数据库里的所有数据表名字列出来,但是怎么能获取这个数据库的表名字?我试过连接information_schema这个库里的tables表,但是好像这个数据库比较特殊,不能用CDatabase连接 解决方案 解决办法 解决方案二: MySQL的解决办法

php数据库中取值-php+mysql 数据库中取值

问题描述 php+mysql 数据库中取值 php+mysql 数据库中取值 表中字段是int类型,1代表供货商发货,2代表公司配货 .在页面上用一个下拉列表选择发货方式,如何把 供货商发货 公司配货 字样显示在下拉列表中 , 提交表单后可以更改配货方式,,, 后台逻辑该怎么写呢? 解决方案 http://yuncode.net/code/c_5267eac94c46717 解决方案二: http://www.jb51.net/article/60189.htm

Android开发中怎样调用mysql数据库中的数据

问题描述 Android开发中怎样调用mysql数据库中的数据 Android开发中怎样调用mysql数据库中的数据,数据库可以是本地也可以是联网的. 解决方案 Android本地是不能直接调用MySQL的,因为很简单,你的Android手机上面不可能安装MySQL服务的.你只能借助于网络通信, 让手机和电脑通过网络连接起来,这样你想在Android端访问MySQL数据库时,就可以通过一定的方式发送一些网络消息请求, 让电脑端去查询数据库,再通过网络把数据返回给Android端.当然,最简单的网

MySQL数据库中的索引问题

问题描述 MySQL数据库中的索引问题 用index加索引,再用show create table命令查看得到的是key不是index了,这原因是什么.这两者之间有什么区别没哦?附上代码: create table tbl01( id int(10) key key_id (id)); show create table tbl01; CREATE TABLE tbl01 (id int(10) DEFAULT NULL KEY key_id (id)) ENGINE=InnoDB DEFAUL

jsp-java 中JSP 实现把excel表中数据导入到mysql数据库中的表中的具体实现方法

问题描述 java 中JSP 实现把excel表中数据导入到mysql数据库中的表中的具体实现方法 java 中JSP 实现把excel表中数据导入到mysql数据库中的表中的具体实现方法 解决方案 参考:http://blog.csdn.net/casilin/article/details/5750773 解决方案二: 楼主幸苦了!!谢谢分享!!! 解决方案三: jsp导excel到mysql数据库 http://wenku.it168.com/d_000468232.shtml

mysql数据库中字段都是被加密了怎么查看

问题描述 mysql数据库中字段都是被加密了怎么查看 唉 新手实习生.. 有个项目数据库中的很多字段都是是sfsaf-dfasfdadfasf-fasdfas类似这种,不知道该怎么查询数据内容? 解决方案 这你要问你boss,是用什么加密的

hbase-如何将mysql数据库中的数据存到hadoop上

问题描述 如何将mysql数据库中的数据存到hadoop上 求助如何将mysql数据库中的数据存到hadoop上,又如何进行查询? 解决方案 http://www.2cto.com/database/201412/359232.html 解决方案二: http://www.iteye.com/news/27625 解决方案三: 可以使用Kettle Spoon对数据进行抽取和转移,是图形化界面,可以支持几乎所有的数据库,包括关系型数据库Oracle.MySQL和非关系型数据库HBase等,也支持