如何保护MySQL 中的重要数据数据库教程
“wuyiyun”通过精心收集,向本站投稿了6篇如何保护MySQL 中的重要数据数据库教程,以下是小编精心整理后的如何保护MySQL 中的重要数据数据库教程,供大家参考借鉴,希望可以帮助到有需要的朋友。
篇1:如何保护MySQL 中的重要数据数据库教程
在日常的工作中,保护数据免受未授权用户的侵犯是系统管理员特别关心的问题,如果你目前用的是MySQL,就可以使用一些方便的功能来保护系统,来大大减少机密数据被未授权用户访问的风险。
企业最有价值的资产通常是其数据库中的客户或产品信息。因此,在这些企业中,数据库管理的一个重要部分就是保护这些数据免受外部攻击,及修复软/硬件故障。
在大多数情况下,软硬件故障通过数据备份机制来处理。多数数据库都自带有内置的工具自动完成整个过程,所以这方面的工作相对轻松,也不会出错。但麻烦却来自另一面:阻止外来 入侵窃取或破坏数据库中的信息。不幸的是,一般没有自动工具解决这一问题;而且,这需要管理员手工设置障碍来阻止 ,确保公司数据的安全。
不对数据库进行保护的常见原因是由于这一工作“麻烦”而“复杂”。这确实是事实,但如果你应用MySQL,就可以使用一些方便的功能来显著减少面临的风险。下面列出了以下几个功能:
◆删除授权表中的通配符
MySQL访问控制系统通过一系列所谓的授权表运行,从而对数据库、表格或栏目级别的用户访问权利进行定义。但这些表格允许管理员为一名用户设定一揽子许可,或一组应用通配符的表格。这样做会有潜在的危险,因为 可能会利用一个受限的账户来访问系统的其他部分。由于这一原因,在设置用户特权时要谨慎,始终保证用户只能访问他们所需的内容。在给个别用户设定超级特权时要尤其小心,因为这种级别允许普通用户修改服务器的基本配置,并访问整个数据库。
建议:对每个用户账户应用显示特权命令,以审查授权表,了解应用通配符许可是否恰当。
◆要求使用安全密码
用户账号的安全与用来保护它们的密码密切相关。因此,在安装MySQL时第一件事就应该设置MySQL根账号的密码(默认为空)。修复这一漏洞后,接下来就应要求每个用户账号使用一个密码,且不要使用生日、用户名或字典中的单词这些容易识别的启发式密码,
建议:应用MySQL-安全-授权选项避免使用旧的,不大安全的MySQL密码格式。
◆检查配置文件许可
一般来说,要使服务器连接更为快速方便,单个用户和服务器管理员必须把他们的用户账号密码存储在单用户MySQL选项文件中。但是,这种密码是以纯文本形式存储在文件中的,很容易就可以查阅。因此,必须保证这样的单用户配置文件不被系统中的其他用户查阅,且将它存储在非公共的位置。理想情况下,你希望单用户配置文件保存在用户的根目录,许可为0600。
◆加密客户与服务器之间数据传送 :
MySQL(及其它)客户与服务器构架的一个重要问题就是通过网络传送数据时的安全问题。如果客户与服务器间的交互以纯文本形式发生, 就可能“嗅出”被传送的数据包,从而获得机密信息。你可以通过激活MySQL配置中的SSL,或应用一个OpenSSH这样的安全应用来为传送的数据建立一个安全的加密“通道”,以关闭这一漏洞。以这种形式加密客户与服务器连接可使未授权用户极难查阅往来的数据。
◆禁止远程访问
如果用户不需要远程访问服务器,你可以迫使所有MySQL连接通过UNIX插槽文件来完成,从而大大减少网络受攻击的风险。这一过程可通过跳过网络选项启动服务器来完成。这样可以阻止TCP/IP网络连接到MySQL上,保证没有用户可以远程连接系统。
建议:可以在MySQL服务器配置中添加捆绑地址127.0.0.1指令来增强这一功能,迫使MySQL捆绑当地机器的IP地址来保证只有同一系统中的用户可以连接到MySQL。
◆积极监控MySQL访问记录
MySQL中带有很多不同的日志文件,它们记录客户连接,查询和服务器错误。其中,最重要的是一般查询日志,它用时间标签记录每名客户的连接和中断时间,并记录客户执行的每个查询。如果你怀疑发生了不寻常的行为,如网络入侵,那么监控这个日志以了解行为的来源是个好方法。
保护你的MySQL数据库是一个日常工作。因此,即使完成了上述步骤,也还需要你利用更多的时间去了解更多的安全建议,积极监控并更新你的系统安全。
篇2:怎样在vc、delphi中使用mysql数据库教程
怎样在vc、delphi、vb等程序中使用mysql呢(mysql odbc驱动程序的使用)?我们经常会遇到这样问题,怎样在非web程序或asp程序中使用mysql数据库呢?对于这个问题有两个解决方案:
1、使用mysql提供的api函数库,
很多有名的mysql客户端工具就是这样实现的,大名鼎鼎的winmysql工具就是这样的。这在大部分的开发工具中都可以实现。
比如vc,bcb,delphi,vb等,只要能调用第三方的api就能实现。但对程序员的要求很高,而且要熟悉一套mysql的api函数集,这不是对每个人都 很轻松的事。而且这种方法不能用于asp等程序,因为它不支持com对象。
2、第二种是使用myodbc驱动程序。
你可以到www.mysql.com下载myodbc驱动程序,然后照着下面的做就可以了 第一种选择是下载完全安装包,这种包很大,但对于我们来说有用的只有myodbc.dll这个文件,却要下载这么大的文件,不太合适。当然,如果你 很菜的话,我建议你选择这种方式,这样容易些,但不符合cfans的作风,是吧。
第二种是直接下载myodbc.dll文件,只有几百k,但不太容易使用,本人经过很久摸索才找到使用它的方法。
首先你将包解开,将myodbc.dll 文件放到windowssystem 或 winntsystem32目录下,这取决于你的系统是win9x还是winnt(win2k),你应该 知道吧。然后打开一纯文本编辑器,如editplus,notpad之类,(取决于你的喜好)将下面一段话保存为一文件,扩展名为.reg,知道了吧,这是注册表文件,不要搞错呀(不包括下面的一长串等号) 如果你用的是win2k请将第一行换成 Windows Registry Editor Version 5.00
==========================================================从下行开始
Windows Registry Editor Version 4.00
[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INImyodbc driver]
“UsageCount”=dword:00000002
“Driver”=“C:\WINNT\System32\myodbc.dll”
“Setup”=“C:\WINNT\System32\myodbc.dll”
“SQLLevel”=“1”
“FileUsage”=“0”
“DriverODBCVer”=“02.50”
“ConnectFunctions”=“YYY”
“APILevel”=“1”
“CpTimeout”=“120”
[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIODBC Drivers]
“myodbc driver”=“installed”
=======================================结束于上一行
(bill.gates)就这样吧.保存后,双击刚才的文件,应该叫 xxx.reg 吧,然后选择确定,ok,搞定了,
然后你打开odbc设置程序,建一新数据源,选择myodbc驱动程序,剩下的就看你自己了。
篇3:mysql数据复制到access数据库数据库教程
access|mysql|数据|数据库
mysql数据库表sqltable字段id,name,sex,email
access数据库表accesstable
id,name,sex,email
$connect = mysql_connect(“localhost”,“”,“”);
mysql_select_db(“mydatabase”);
$sql = “select * from sqltable;
$result = mysql_query($sql};
$connectodbc=odbc_connect(”DSN“,”USERNAME“,”PASSWORD“);
while($row = mysql_fetch_row($result))
{
$sql=”insert into accesstable
values($row[“id”,$row[“name”,$row[“sex”],$row[“email”])“;
odbc_do($connectodbc,$sql);
}
odbc_close($connectodbc);
mysql_close($conect);
?>
【本文版权归作者与奥索网共同拥有,如需,请注明作者及出处】
篇4:如何从 MySQL 数据库表中检索数据数据库教程
1、从数据库表中检索信息
实际上,前面我们已经用到了SELECT语句,它用来从数据库表中检索信息,
select语句格式一般为:
SELECT 检索关键词 FROM 被检索的表 WHERE 检索条件(可选)
以前所使用的“ * ”表示选择所有的列。
下面继续使用我们在上篇文章中创建的表mytable。
2、查询所有数据:
mysql>select * from mytable;
+----------+------+------------+----------+
| name | sex | birth | birthaddr |
+----------+------+------------+--------+
| abccs |f | 1977-07-07 | china |
| mary |f | 1978-12-12 | usa |
| tom |m | 1970-09-02 | usa |
+----------+------+------------+----------+
3 row in set (0.00 sec)
3、修正错误记录:
假如tom的出生日期有错误,应该是1973-09-02,则可以用update语句来修正: mysql>update mytable set birth = ”1973-09-02“ where name = ”tom“;
再用2中的语句看看是否已更正过来。
4、选择特定行
上面修改了tom的出生日期,我们可以选择tom这一行来看看是否已经有了变化:
mysql>select * from mytable where name = ”tom“;
+--------+------+------------+------------+
| name |sex | birth | birthaddr |
+--------+------+------------+------------+
| tom |m | 1973-09-02 | usa |
+--------+------+------------+------------+
1 row in set (0.06 sec)
上面WHERE的参数指定了检索条件。我们还可以用组合条件来进行查询:
mysql>SELECT * FROM mytable WHERE sex = ”f“ AND birthaddr = ”china“;
+--------+------+------------+------------+
| name |sex | birth | birthaddr |
+--------+------+------------+------------+
| abccs |f | 1977-07-07 | china |
+--------+------+------------+------------+
1 row in set (0.06 sec)
5、选择特定列
假如你想查看表中的所有人的姓名,则可以这样操作:
mysql>SELECT name FROM mytable;
+----------+
| name |
+----------+
| abccs |
| mary |
| tom |
+----------+
3 row in set (0.00 sec)
如果想列出姓名和性别两列,则可以用逗号将关键词name和birth分开: myaql>select name,birth from mytable;
6、对行进行排序
我们可以对表中的记录按生日大小进行排序:
mysql>SELECT name, birth FROM mytable ORDER BY birth;
+----------+------------+
| name | birth |
+----------+------------+
| tom | 1973-09-02 |
| abccs | 1977-07-07 |
| mary | 1978-12-12 |
+----------+------------+
3 row in set (0.00 sec)
我们可以用DESC来进行逆序排序:
mysql>SELECT name, birth FROM mytable ORDER BY birth DESC;
+----------+------------+
| name | birth |
+----------+------------+
| mary | 1978-12-12 |
| abccs | 1977-07-07 |
| tom | 1973-09-02 |
+----------+------------+
3 row in set (0.00 sec)
7、行计数
数据库经常要统计一些数据,如表中员工的数目,我们就要用到行计数函数COUNT,
COUNT()函数用于对非NULL结果的记录进行计数:
mysql>SELECT COUNT(*) FROM mytable;
+----------+
| COUNT(*) |
+----------+
| 3 |
+----------+
1 row in set (0.06 sec)
员工中男女数量:
mysql>SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
+------+----------+
| sex | COUNT(*) |
+------+----------+
| f | 2 |
| m | 1 |
+------+----------+
2 row in set (0.00 sec)
注意我们使用了GROUP BY对SEX进行了分组。
篇5:ubuntu下简单配置mysql数据库数据库教程
这里我用重启命令sudo /etc/init.d/mysql restart,出现错误信息, 所以用了上面(步骤3)那种关闭服务又启动的笨方法,
一). ubuntu下mysql安装布局:
/usr/bin 客户端程序和mysql_install_db
/db 数据库和日志文件
/var/run mysqld 服务器
/etc/mysql mysql 配置文件my.cnf
/usr/share/mysql 字符集,基准程序和错误消息
/etc/init.d/mysql 启动mysql服务器
二). 设置mysql服务器随开关机自动启动和关闭:
系统 ->系统管理 ->服务
进行到“服务设置”窗口后,激活mysql数据库服务即可
三). 修改mysql数据库文件的存储目录:
假设我们指定的数据库文件目录为/db
1. 创建目录 /db,并修改其拥有者及所属群组为mysql:mysql.命令:chown mysql:mysql db
2. 关闭mysql数据库服务:mysqladmin -u root -p shutdown
3. 修改mysql配置文件my.cnf:将datadir=/var/lib/mysql改为datadir=/db
4. 重新初始化数据文件:执行mysql_install_db
5. 启动mysql数据库服务:sudo /etc/init.d/mysql start
6. 设置mysql数据库root密码:mysqladmin -u root password ‘new-password’
此时我们会发现/db目录下出现mysql相关文件,
如果我们新建数据库,其数据库文件也将出现在db目录下。表示我们修改的mysql数据库文件存储目录正确。
四). 配置mysql数据库的INNODB存储引擎:
1 . 查看mysql存储引擎情况: 登录mysql数据库,在mysql>提示符下搞入show engines;命令。发现: InnoDB YES,说明此mysql数据库服务器支持InnoDB引擎。
2. 设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。
3. 重启mysql服务器:mysqladmin -u root -p shutdown(回车),sudo /etc/init.d/mysql start(回车)。
4. 登录mysql数据库,在mysql>提示符下搞入show engines;命令。如果出现 InnoDB DEFAULT,则表示我们 设置InnoDB为默认引擎成功。
篇6:linux中清空Mysql数据库ROOT密码教程linux操作系统
1)进入var/lib/mysql
2)删除掉mysql文件
3)重新启动mysql ,到此密码已经清空
4)设置新的密码
echo ”grant all on *.* to 'root'@'localhost' identified by 'newpass';“ | mysql -uroot
echo ”grant all on *.* to 'root'@'%' identified by 'newpass';" | mysql -uroot -pnewpass
【如何保护MySQL 中的重要数据数据库教程】相关文章:






文档为doc格式