当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-05-02 15:51:00  来源:本站整理

MySql管理的一点心得[MySQL防范]

赞助商链接



  本文“MySql管理的一点心得[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
MySQL数据库是中小型网站后台数据库的首选,因为它对非商业利用是免费的.网站开辟者可以搭建一个"Linux+Apache+PHP+MySql" 平台,这是一个最省钱的高效平台.在利用MySql举行开辟时,MySql自带的文档关于新手来说是份很好的参考资料.本文是我在利用MySql中的小当心得.

当前普通用户的开辟环境多是Windows或Linux,用户可以到http://www.mysql.com下载相关版本举行安装,在 windows中MySql以服务情势存在,在利用前应确保此服务已经启动,未启动可用net start mysql号令启动.而Linux中启动时可用"/etc/rc.d/init.d/mysqld start"号令,注意启动者应具有管理员权限.

刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,关于一些重要的利用我们应将安全性尽大概提高,在这里应把匿名帐户删除、 root帐户设置密码,可用以下号令举行:

use mysql;

delete from User where User="";

update User set Password=PASSWORD('newpassword') where User='root';

假如要对用户所用的登录终端举行限制,可以更新User表中呼利用户的Host字段,在举行了以上更改后应重新启动数据库服务,此时登录时可用以下近似号令:

mysql -uroot -p;

mysql -uroot -pnewpassword;

mysql mydb -uroot -p;

mysql mydb -uroot -pnewpassword;

上面号令参数是常用参数的一部份,具体情形可参考文档.此处的mydb是要登录的数据库的名称.

在举行开辟和实际利用中,用户不该该只用root用户举行衔接数据库,固然利用root用户举行测试时很便利,但会给系统带来庞大安全隐患,也不利于管理技术的提高.我们给一个利用中利用的用户赋予最得当的数据库权限.如一个只举行数据插入的用户不该赋予其删除数据的权限.MySql的用户管理是通过 User表来实现的,增添新用户常用的办法有两个,一是在User表插入呼应的数据行,同时设置呼应的权限;二是通过GRANT号令成立具有某种权限的用户.此中GRANT的常用用法以下:

grant all on mydb.* to NewUserName@HostName identified by "password" ;

grant usage on *.* to NewUserName@HostName identified by "password";

grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";

grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";

若要给此用户赋予他在呼应对象上的权限的管理本领,可在GRANT背面增添WITH GRANT OPTION选项.而关于用插入User表增添的用户,Password字段利用PASSWORD 函数举行更新加密,以防不轨之人窃看密码.关于那些已经不用的用户应赐与排除,权限过界的用户应及时回收权限,回收权限可以通过更新User表呼应字段,也可以利用REVOKE操作.

下面给出本人从别的资料(www.cn-Java.com)得到的对常用权限的注释:

全局管理权限:

file: 在MySQL服务器上读写文件.

PROCESS: 显示或杀死属于别的用户的服务线程.

RELOAD: 重载拜候掌握表,革新日记等.

SHUTDOWN: 关闭MySQL服务.

数据库/数据表/数据列权限:

ALTER: 改正已存在的数据表(比方增添/删除列)和索引.

CREATE: 成立新的数据库或数据表.

DELETE: 删除表的记录.

DROP: 删除数据表或数据库.

INDEX: 成立或删除索引.

INSERT: 增添表的记录.

SELECT: 显示/搜索表的记录.

UPDATE: 改正表中已存在的记录.

分外的权限:

ALL: 答应做任何事(和root一样).

USAGE: 只答应登录--别的什么也不答应做.

最后给出本人在RedHat9.0下的MySql操作演示:

选用数据库的root用户登录

[weiwen@weiwenlinux]$mysql -uroot -p

Enter password:MyPassword

mysql>create database mydb;

Query OK, 1 row affected (0.02 sec)

mysql>use mydb;

Database changed

mysql>create table TestTable(Id int aut_increment primary key,

UserName varchar(16) not null,

Address varchar(255));

Query OK, 0 rows affected (0.02 sec)

mysql>grant all on mydb.* to test@localhost identified by "test";

Query OK, 0 rows affected (0.01 sec)

mysql>quit

Bye

[weiwen@weiwenlinux]$mysql mydb -utest -ptest

此中test.sql是用vi编辑好的SQL脚本,其内容为:

Insert into TestTable(UserName,Address)values('Tom','shanghai');

Insert into TestTable(UserName,Address)values('John','beijing');

select * from TestTable;

运行已经编辑好的SQL脚本可以用source filename 或 . filename.

以上只是对新手的简单操练,要成为一个数据库妙手,当以孜孜不倦地追求知识,不断地考虑、尝试、再考虑.
  以上是“MySql管理的一点心得[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .