爱飞 发表于 2015-1-16 22:34:05

MYSQL网站制作之新的MySQL安装的平安性

到2009年,甲骨文的数据库Oracle已经诞生了30周年,而MySQL却连它的一半时间都没有。微软的SQLServer仅仅比MySQL大两年,但是SQLServer的发布是建立在Sybase的基础上。mysql|平安|平安性本章将会商MySQL办理员为坚持MySQL一般运转所必要完成的职责。这些职责包含确保服务器尽量坚持高功能地运转、设置用户账号以便客户性能够会见服务器、保护日记文件,和实行数据库备份。为了失掉更高的功能,办理员还能够运转多个服务器或修正服务
器的操纵参数。最初,因为MySQL正处于高速开展的形态,以是办理员必需能断定何对MySQL举行晋级。其他主要的办理成绩将在第12章“平安性”和第13章“数据库保护和修复”先容。
有几个对MySQL办理员有效的程序包含在这些章节中:
mysqladmin实行林林总总的办理操纵。
safe_mysqld和mysql.server是启动MySQL服务器mysqld的剧本。
mysqldump用于数据库备份和拷贝操纵。
myisamchk和isamchk用于表的完全性反省和修复操纵。
有关这些程序的附加信息,请参阅附录E“MySQL程序参考”。

您大概由于方才依照附录A“取得和安装软件”一节的申明安装了MySQL而正在浏览本章。假如是如许的话,则必要为MySQLroot用户设置口令─关于一个新的MySQL安装来讲,服务器正在以不平安的权限运转着。笔者假定您已初始化了数据目次和包括受权表
的mysql数据库。在UNIX中,可经由过程运转mysql_install_db剧本来举行。在Windows中,数据目次和mysql数据库经由过程运转服务器分发包中的Setup程序初始化。笔者还假定服务器正在运转中。
现在次在呆板上安装MySQL时,mysql数据库的受权表的初始权限以下:
能够从当地主机中以root举行毗连,不带任何口令。root用户具有一切的权限(个中包含办理权限),因而能做很多事变(特地说一句,MySQL超等用户和UNIX超等用户两者都着名字root,这一现实是偶合的。它们互相之间没有任何干系)
匿名的会见授与从当地主机上毗连的用户,该主机具有名为test的数据库或带有以‘test_’入手下手的任何数据库。匿名用户能够使用如许的数据库做任何事,但没有办理权限。
不管毗连的用户指定的是localhost主机名仍是实践的主机名,从当地主机到服务器的毗连都将是同意的。比方,假如服务器在pit-viper.snake.net上,则该主机上的客户性能够不利用口令而毗连到该服务器,从而可使用以下之一的语句利用test数据库:
%mysql-hlocalhosttest
%mysql-hpit-viper.snake.nettest
您乃至能够不必口令就以root用户的身份毗连到MySQL,这一现实申明:初始的安装是不平安的。因而,作为MySQL办理员最后的举动之一应当是为root用户设置口令。然后,依据用来设置口令的办法,您还必要唆使服务重视新加载受权的表,使服务器晓得这些变更(在服务器启动时,它将这些表加载到内存中,而且在没无意识到的情形下已将它们改动。假如是如许的话,必需明白告知它从头读取这些表)。
关于MySQL3.22以上的版本,能够用mysqladmin程序按以下体例设置口令,可用您选择的口令来替换以下命令中的“yourpassword”:
%mysqladmin-urootpassword"yourpassword"
关于任何版本的MySQL,您都可使用mysql程序并间接更新mysql数据库中的用户受权的表:
%mysql-urootmysqlmysql>UPDATEuserSETPassword=PASSWORD("yourpassword")
->WHREEUser="root";
假如您有一个旧版本的MySQL,则可以使用mysql和一个UPDATE语句,这也包含Windows的共享软件版本。
在设置口令后,要看看是不是必要经由过程运转以下命令唆使服务重视新加载受权的表:
%mysqladmin-urootstatus
假如服务器仍旧同意不利用口令就以root用户身份举行毗连,则应告知它从头读取受权的表(MySQL3.22以上的版本还同意用mysqladminflush.privileges命令和FLUSHPRIVILEGES的SQL语句从头加载表):
%mysqladmin-urootreload
在设置了root的口令(偏重新加载受权的表,假如需要的话)后,当以root的身份毗连到服务器时,必要指定新的口令。这是无法比较的,因为基于云的数据库提供了不同的模式。关键是要通过围绕云计算产品来包装其他增值服务以适应不断变化的市场条件:这就是DBaaS。

小女巫 发表于 2015-1-19 16:30:55

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

莫相离 发表于 2015-1-25 15:31:45

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

柔情似水 发表于 2015-2-2 22:36:46

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

小妖女 发表于 2015-2-8 18:24:47

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

金色的骷髅 发表于 2015-2-25 22:32:13

如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。

深爱那片海 发表于 2015-3-8 08:36:21

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

乐观 发表于 2015-3-15 21:23:29

然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情

不帅 发表于 2015-3-22 05:08:58

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
页: [1]
查看完整版本: MYSQL网站制作之新的MySQL安装的平安性