mysql可以实现一个数据库,只体现为一个文件吗?就象ms sqlserver那样?
-----------------------------------------------------
我发现,mysql与ms sqlserver完全不一样,在ms sqlserver中,一个数据库就是一个文件(其实是两个,还有一个日志文件),这样做的好处是,数据库的细节,从文件目录中,完全看不出来,即通过文件夹查看,只能看到一个文件名,具体细节看不到(比如有什么表),但是mysql则完全不同,mysql是将数据库映射到一个文件夹,将表映射到一个具体的文件,
这样,外人通过查看文件目录,可以方便得看到数据库的结构,比如我的数据库中有多少表,每个表的表名是什么,而且其他人如果不小心(或者恶意),可以修改表的文件名,这样就全乱了。
所以,我认为,mysql这样设计,是不是在安全性上要差些呢?
能否象 mssqlserver 那样呢?一个数据库就是一个文件,所有细节外人通过文件夹的目录结构一律看不出来。

解决方案 »

  1.   

    回答很简单。不能!
    表中的数据可以都放一个文件中,不过表定义FRM文件只能单独存放。
      

  2.   

    没有绝对的安全。
    在MYSQL的安全管理里面,第一层就是主机的账户管理。如果别人都可以登录你的服务器,然后有心搞你名堂,改改表名称啥的算很对得起你了,狠点的直接删除掉。在MSSQL里也是一样的。就算只有2个文件,别人进来还是可以做破坏。防君子不防小人。
      

  3.   


    MYSQL的INNODB存储引擎时。表定义文件在数据库目录下的*.frm 文件中, 但数据和索引都放在IBDATA1文件中。