日期: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防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:MySQL集群配置
- ·下一篇文章:举例详解MySQL字符集
- ·中查找“MySql管理的一点心得”更多相关内容
- ·中查找“MySql管理的一点心得”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论