|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于在MySQL中有如此众多的额外功能可选,诸如存储引擎等,你可以选择最适合你公司的一个,或者尝试选用多个引擎。MySQL开始非常小巧,但是可以随着公司的成长而不断地变强大。<Pstyle="TEXT-INDENT:2em">创建一个防备性保护的工夫表,以帮忙主动检测成绩,使得您能够接纳措施举行修改:<Pstyle="TEXT-INDENT:2em">1)实行惯例的数据库备份并同意更新日记。<Pstyle="TEXT-INDENT:2em">2)布置按期的惯例表反省。经由过程反省表,将削减利用备份的时机。这个事情利用cron功课(一样平常从运转服务器所利用的该账号的crontab文件中挪用)而且很简单完成。比方,假如您作为MySQLadm用户运转服务器,则能够从mysqladm的crontab文件中创建按期反省。假如您不晓得怎样利用cron,应利用以下命令检察相干的UNIX野生页:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">3)在服务器启动前的体系引诱时代反省数据库表。呆板大概会因初期的溃散从头启动。假如是如许的话,数据库表大概已被损坏,应当对它举行反省。<Pstyle="TEXT-INDENT:2em">为了运转主动的表反省,能够编写一个剧本,将目次改动为服务器数据目次并对一切数据库表运转myisamchk和isamchk。我们将鄙人面会商的剧本中同时利用这两个程序。假如您只要MyISAM表或只要ISAM表,则只需个中一个程序,能够将有关的谁人程序从剧本中往除。<Pstyle="TEXT-INDENT:2em">myisamchk和isamchk都依据表反省的体例发生某些输入了局以便懂得正在反省哪些表,乃至在没有成绩时也是云云。关于crontab的项,除非表中有毛病,不然一般将克制输入了局(假如功课发生任何输入,cron功课一般天生一个邮件动静,很少会收到没有任何成绩的表反省功课的邮件)。假如用--silent选项挪用任一个有用程序,它仅当发明成绩时才发生输入。别的,myisamchk撑持--fast选项,该选项同意程序跳过自前次反省以来没有被修正过的任何表。<Pstyle="TEXT-INDENT:2em">在服务器数据目次中反省一切表的一个复杂的剧本以下(DATADIR应当修正成对应您体系的值):<Pstyle="TEXT-INDENT:2em">
<Pstyle="TEXT-INDENT:2em">有用此剧本的一个潜伏的成绩是:假如有很多表,通配符形式‘*/*.MYI’或‘*/*.ISM’大概会因为“toomanyarguments(过量的参数)”毛病使外壳程序爆炸。另外一个可选择的剧本以下(一样,将DATADIR改动为对应您体系的值):<Pstyle="TEXT-INDENT:2em">
<Pstyle="TEXT-INDENT:2em">不管您选择哪一种情势的剧本,笔者都假定您挪用的是check_mysql_tables,应确保实时改动该体例使它可实行,然后您手工挪用它以考证它事情是不是一般:<Pstyle="TEXT-INDENT:2em">- %chmod+xcheck_mysql_tables%chmod_mysql_tables
复制代码 <Pstyle="TEXT-INDENT:2em">在幻想情形下应当没有输入了局。假如体系不撑持内部锁定,有大概服务器将在您反省表时改动它。此时,剧本大概会把实践没成绩的表呈报成有成绩的。这有点不幸,但比呈现相反的成绩要好:当呈现某些妨碍时剧本呈报无成绩。假如体系撑持内部锁定,则该成绩就不会呈现。<Pstyle="TEXT-INDENT:2em">以下部分将申明怎样创建剧本,使它经由过程cron并在体系启动时代主动实行。在这些大节的例子中,笔者假定剧本安装在/usr/users/mysaladm/bin中。您将必要调剂合适本人体系的值。<Pstyle="TEXT-INDENT:2em">假如在您的体系上运转了多个服务器,将必要修正该历程来反省每一个服务器数据目次中的表。您可使用分歧的check_mysql_tables拷贝来举行,或经由过程修正它来吸收一个命令行参数举行,该参数指定了想要反省的数据目次。<Pstyle="TEXT-INDENT:2em">用cron按期反省表<Pstyle="TEXT-INDENT:2em">假定要想对mysqladm用户从crontab文件中挪用剧本check_mysql_tables。先以该用户的身份举行注册,然后用以下命令编纂crontab文件:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">该命令带您进进带有以后crontab文件拷贝的编纂器中(假如之前没有编纂过,此文件多是空的)。增添一行到文件中:<Pstyle="TEXT-INDENT:2em">- 03**0/usr/users/mysqladm/bin/check_mysql_tables
复制代码 <Pstyle="TEXT-INDENT:2em">它告知cron在每一个日曜日的上午3时运转此选项。能够按请求改动工夫或布置。有关这些选项的格局,请参阅crontab野生页。<Pstyle="TEXT-INDENT:2em">在体系启动时代反省表<Pstyle="TEXT-INDENT:2em">假如您正在利用BSD作风的体系,而且已将服务器的启动命令增添到/etc/rc.local或相似的其他文件中,则能够在启动服务器前从对应的文件中挪用check_mysql_tables。<Pstyle="TEXT-INDENT:2em">假如正在利用SystemV作风的启动办法从/etc/rc.d目次之一中挪用mysql.server,则历程稍有点庞大。这些目次中的启动剧本应当了解start和stop参数的寄义,以便对体系的启动和封闭接纳响应的操纵。为了实行表的反省,我们能够编写如许的剧本:当参数为start时挪用check_mysql_tables,而当该参数为stop时不做任何事变。让我们来挪用如许的一个剧本mysql.check,其内容以下:<Pstyle="TEXT-INDENT:2em">
如今,您已可使用一个历程来安装mysql.check了,该历程相似于在第11章所先容的安装mysql.server的历程。必需给mysql.check一个运转级目次中较低的前缀号,才干使得它在mysql.server前运转。比方,假如在运转级目次中以S99mysql.server链接到mysql.server,则应当以S98mysql.check链接到mysql.check.
解决方案提供商应记住DBaaS通常仅仅是解决方案的一部分。客户之所以与他们的解决方案提供商协同工作,不仅是因为他们出售的产品,而且还因为他们所提供的服务。 |
|