大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> MySQL -> MySQL服务器的启动和关闭

MySQL服务器的启动和关闭

时间: 2021-08-13 作者:daque

 动作mysql处置员,一个普遍的目的即是保证效劳器尽大概地居于运奇迹态,使得存户机不妨随时考察它。然而,偶尔最佳封闭效劳器(比方,即使正在举行数据库的重定位,不蓄意效劳器在该数据库中革新表)。维持效劳器运转和偶然封闭它的需要联系不是该书所解 决的。然而咱们起码不妨计划怎样使效劳器启用和遏止,再不您完备举行这两个操纵的本领。     本章的证明只用来unix 体例。即使正在运转windows 体例,不妨跳过本章,由于附录a“赢得和安置软硬件”一节中包括了一切须要的启用和封闭吩咐。     挪用本章给出的吩咐     为了简略,在大普遍情景中,诸如mysqla d m i n、mysqldump 等步调在本章中没有给出任何- h、- u或- p选项。笔者假设您将会用贯穿效劳器所需的任何选项挪用那些步调。 用无特权的用户账号运转mysql效劳器     在计划怎样启用效劳器之前,商量一下在效劳器启用时该当运转哪个账号。效劳器不妨细工和机动启用。即使细工启用,则效劳器以unix 用户身份运转(您凑巧动作该用户举行了备案)。即,即使笔者以paul 举行备案并启用效劳器,则它将以paul 身份运转。即使用s u吩咐将用户切换到root 而后启用效劳器,则效劳器以root 身份运转。     然而,大普遍功夫大概都不会沿用细工启用效劳器。您很大概将安置效劳器在体例启发时动作规范启用进程的一局部机动地运转。在unix中,该启用进程由体例以unix 的r o o t用户的身份实行,该进程中启用的任何过程都用root 的权力运转。     该当紧记mysql效劳器启用进程的两个目的:     要效劳器以某些非root 的用户身份启用。常常,只有过程真的须要root 考察权而mysql办不到,要不应控制任何过程的本领。     要效劳器一直以同一个用户的身份运转。效劳器偶尔动作一个用户运转而偶尔又动作另一个用户运转时会爆发冲突。这将引导文献和目次以各别的一切权在该数据下被创造,以至惹起效劳器不许考察数据库或表。以同一个用户的身份普遍地运转效劳器不妨制止该题目。     为了以规范的、非特权的用户身份运转数据库,可按如次办法实行该进程:     1) 采用用来运转效劳器的账号。mysqld 不妨以任何用户身份运转,然而很鲜明,它只为mysql震动创造了一个独立的账号。您也不妨为mysql特意指定一个组。笔者将挪用的那些用户和组的名字定名为mysqladm 和mysqlg r p。即使您运用了其余的名字,则在该书中有mysqladm 和mysqlgrp 的场合替代它们     即使您在本人的账号下安置了mysql而且体例中没有一定的处置权力,则您不妨在本人的id 用户下运转效劳器。在这种情景下,应运用您本人的备案名和组名代替mysqladm 和mysqlgrp 。     即使您运用rpm 文献在redhat linux 下安置了mysql,则该安置步调将在mysql名下机动创造了一个账号。应运用该名字替代mysqladm 。     2) 即使需要的话,可用体例常用的账号创造进程( a c count - c r e a t i o n)来创造效劳器账号。这须要以root 身份举行操纵。     3) 封闭效劳器(即使它在运转)。     4) 窜改数据目次以及任何子目次和文献的一切权,使mysqladm 用户具有它们。比方,即使数据目次是/ us r / l o c a l / v a r,则可按以次树立mysqladm 用户的一切权:     # cd /usr/local/var 挪动到数据目次     # chown -r mysqladmin.mysqlgrp 树立一切目次和文献的一切权     5) 窜改数据目次以及任何子目次和文献的承诺权,使得惟有mysqladm 用户不妨考察它们。树立该办法以制止其余职员考察是一种好得安定提防办法。即使数据目次是/ us r / l o c a l / v a r,则可经过mysqladm 用户按下列操纵树立应具备的十足(您须要以root 身份运转那些吩咐):     # cd /usr/local/var 挪动到数据目次     # chmod -r go -rwx 使一切十足只对mysqladm 可考察     在树立数据目次及其实质的一切权和办法时,查看标记贯穿。您须要盯梢标记贯穿并窜改所指向的文献或目次的一切权和办法。即使那些贯穿文献所定位的目次不属于您,则如许做大概会惹起烦恼,所以您必需是root 用户。     在实行前述进程后,应保证不管是动作mysqladm 仍旧动作root 用户备案都一直启用效劳器。在后者中,要保证指定了--user = mysqladm 的选项,使效劳器不妨将其用户id 切换到mysqla d m(该选项在体例启用进程中也可运用)。     --user 选项被减少到mysql3.22 的mysql中。即使您的本子比mysql3.22 旧,则在启用效劳器并动作root 用户运转时,不妨运用su吩咐引导体例在指定账号下运转效劳器。您须要观赏相关su的人为页,由于动作一个指定用户运转吩咐的语法被变换了。 启用效劳器的本领     即使您仍旧决定了用来运转效劳器的账号,则不妨采用安置还好吗启用效劳器。不妨从吩咐行细工运转,或在体例启用进程中机动运转效劳器。有三种启用效劳器的重要本领:     径直挪用mysqld。这大概是最小的吩咐本领。除去证明mysqld --help 是一个有效的吩咐(用它不妨搜索您可运用其余启用本领运用的选项)外,笔者不安排进一步计划它。     挪用safe_mysqld 剧本。safe_mysqld 试图决定效劳器步调和数据目次的场所,而后运用反应那些场所的选项挪用效劳器。safe_mysqld 将效劳器的规范缺点输入重定向到数据目次的缺点文献中,并以记载的情势展示。在启用效劳器后, safe_mysqld 还监察和控制 效劳器,并在其死机时从新启用。safe_mysqld 常常用来unix 的bsd 作风的本子。     即使您已经动作root 或在体例启用步调中启用s a f e _ mysqld,则缺点日记将由r o o t具有。即使您试着以非特权的用户身份挪用s a f e _ mysqld,则大概惹起“一切权被中断”的缺点。简略该缺点文献再试一次。[page_break]挪用mysql.server 剧本。经过运转s a f e _ mysqld . mysql. server,该剧本启用效劳器。该剧本倡导在运用system v 启用/封闭体例的体例中运用。这个体例囊括几个包括在呆板登录或退出一个一定运转级时被挪用的剧本的目次。它不妨运用start 或stop 参数举行挪用,以指明蓄意启用仍旧封闭效劳器。     safe_mysqld 剧本被安置在mysql安置目次的bin 目次下,大概在mysql源步调散发包的scripts 目次中。mysql.server 剧本安置在mysql安置目次的s h a r e / mysql目次下,大概在mysql源步调散发包的support-files 目次中。即使要运用它,应将其 正片到符合的启用目次中。     对于bsd 作风的体例,在/etc 目次中有几个文献对立应,它们在启发功夫发端效劳。那些文献的名字常常以‘ r c’发端,所以很大概会有一个名为rc.local (或一致的名字)的文献来启用当地的安置效劳。在如许的体例中,您大概要按如次本领增添少许行到rc.local 文献中以启用效劳器(即使路途与您体例中的各别,可将其窜改成s a f e _ mysqld):     if (-x /usr/local/bin/safe_mysqld);then         /usr/local/bin/safe_mysqld &      fi     对于system v 作风的体例,不妨经过将其安置在/etc 下的符合的启用目次中来安置mysql. server。即使您运转linux 并从rpm 文献中安置了mysql,那么这此操纵大概仍旧实行了。要不,该当在主启用剧本目次中安置该剧本,并在符合的运转级目次中树立对它的贯穿。您还可使该剧本仅对root 用户可实行。     启用文献目次的构造随体例而变革,所以将须要所有查看来弄清体例是还好吗构造它们的。比方,在linuxppc 中,那些目次为/etc/rc.d/init.d 和/ e t c / r c . d / r c 3 . d。该当按如次本领安置该剧本:     # cp mysql.server /etc/rc.d/init.d     # cd /etc/init.d     # chmod 500 mysql.server     # cd /etc/rc.d/rc3.d     # in -s ../init.d/mysql.server s99mysql    在solaris 中,主剧本目次为/ e t c / i n i t . d,运转级目次为/ e t c / r c 2 . d,所以上述吩咐将替代为:     #cp mysql.server /etc/init.d     # cd /etc/init.d     # chmod 500 mysql.server     # cd /etc/rc2.d     # in -s ../init.d/mysql.server s99mysql    在体例启用功夫,s99mysql剧本运用start 参数机动挪用。     即使您具有chkconfig 吩咐(它在linux 中很常用),则可用其扶助安置mysql.server 脚从来包办细工运转上述的吩咐。     1. 指定启用选项     在启用效劳器时,即使想要指定附加的启用选项,可用两种本领举行操纵。您不妨窜改所运用的启用剧本( safe_mysqld 或mysql. server),并在挪用效劳器的吩咐行市直接指定那些选项。您还不妨在选项文献中指定选项。笔者倡导,即使大概的话,应在全部选项文献中指定效劳器选项。常常该文献的场所是unix 中的/ e t c / my.cnf 和windows 中的c:\my.cnf(相关运用选项文献的详细,请参见附录e)。     某些品种的消息不许动作效劳器的选项指定。为了那些选项,您大概须要窜改s a f e _ mysqld。比方,即使效劳器不许精确地拾取gmt 中的当地时区(local time zone)和归来功夫值,不妨树立tz 情况变量以给该变量一个提醒。即使用safe_mysqld 或mysql. ser ver启用效劳器,不妨将时区树立减少到safe_mysqld 中。找到启用效劳器的吩咐行,并在该行之前减少下列吩咐:     tz=us/central     export tz     这个吩咐将tz 树立为us central 时区。您须要运用符合场所的时区。该语法是s o l a r i s 的,您的体例大概会有所各别。比方,树立tz 变量的另一个常用语法为:     tz=cst6cdt     export tz     即使窜改了启用剧本,当下次安置mysql时(如,晋级到革新的本子),将遗失那些窜改,只有在之前将该启用剧本正片到了其余场合。在安置新的本子之后,将您的剧本与新安置的剧本举行比拟,再不看看中新创造还须要做什么变换。     2. 在启用功夫查看表     除去在体例启发时安置效劳器的启用外,您还不妨安置一个脚从来运转mysamchk 和i s a m c h k,再不在效劳器启用前对表举行查看。您大概安排在效劳器解体后从新启用,但表大概仍旧破坏了。在效劳器启用前查看那些表是创造题目的好方法。第13 章包括了相关编写和安置这种剧本的详细。 封闭效劳器     要想细工封闭效劳器,可运用mysqla d m i n:     % mysqladmin shutdown     要想机动封闭效劳器,您不须要做更加的操纵。bsd 体例常常会经过给过程发送一个term 旗号来封闭效劳。过程大概对其作出反馈,大概被随意地废除。当mysqld 接受到旗号时,它会经过中断来相应。对于运用mysql.server 启用效劳器的system v-作风的体例,该封闭过程将挪用带有stop 参数的脚从来引导效劳器举行封闭──固然,这是在假设您仍旧安置了mysql. ser ver的情景下举行的。 在不贯穿时收回效劳器的遏制     在某些情况中,因为不许贯穿到效劳器,您须要用细工从新启用它。固然,这有点差错,由于普遍是经过贯穿到效劳器而后奉告效劳器中断来细工封闭效劳器的。那么这种情景是还好吗展示的?     开始,mysql的root 口令大概获得了一个您不领会的值。这种情景大概是在窜改口令时爆发的─比方,即使在输出新的口令值时凑巧键入了一个不看来的遏制字符。再有大概即是实足忘怀了口令。     其次,对于localhost 的贯穿常常是经过unix 域的套接字文献举行的,它普遍为/ t m p / mysql. s o c k。即使该套接字文献被简略了,则当地存户机将不许举行贯穿。即使体例偶然运转了一个简略/tmp 中的偶尔文献的cron 功课,这种情景就大概会爆发。     即使由于遗失套接字文献而不许举行贯穿,不妨经过从新启用效劳器大略地举行回复,由于效劳器在启用功夫从新创造了该文献。这边应领会的是,不许用该套接字创造贯穿(由于它仍旧不生存)而必需创造tcp/ip 贯穿。比方,即使效劳器的长机是pit - viper. s n a k e . n e t,则不妨按如次本领举行贯穿:     % mysqladmin -p -uroot -h pit-viper.snake.net shutdown     即使此套接字文献被cron 功课简略,则题目将复发,直到您窜改cron 功课或运用另一个套接字文献为止。您不妨用全部选项文献指定另一个套接字文献。比方,即使数据目次为/ us r / l o c a l / v a r,则可经过将以次行增添到/ e t c / my.cnf 中来挪动套接字文献到何处:     [mysqld]     socket=/usr/local/var/mysql.sock     [client]     socket=/usr/local/var/mysql.sock     路途名是为效劳器和存户机步调二者所指定的,再不它们能运用沟通的套接字文献。即使只对效劳器树立路途名,存户机步调将仍旧在旧的场所上搜索套接字文献。在做出这个窜改后应从新启用效劳器,使它在新的场所创造套接字文献。     即使因为您忘怀了root 的口令或将其窜改为一个您不领会的值而不许举行贯穿,则须要收回效劳器的遏制再不从新树立口令:     封闭效劳器。即使您以root 用户的身份在效劳器长机长进行登录,可用kill 吩咐中断效劳器。经过运用ps 吩咐或经过察看效劳器的pid 文献(常常放在数据目次中)能找到效劳器的id 过程。     最佳先试着用规范的kill 吩咐废除效劳器,该吩咐将一个term 旗号发送给效劳器上,以察看效劳器能否经过封闭旗号来相应。也即是说,表和日记将被符合地革新。即使效劳器被阻碍而且没有相应平常的中断旗号,可运用kill -9 强迫中断它。这是结果的一个 本领,由于大概生存未革新的变动,而且要接受非普遍状况下将表保留住来的危害。即使用kill -9 中断效劳器,应保证在从新启用效劳器之前运用myisamchk 和i s a m c h k对表举行查看(拜见第13章)     用--skip-grant-tables 选项从新启用效劳器。该操纵报告效劳器不要运用受权的表查看贯穿。这承诺您动作root 用户不必输进口令即可举行贯穿。在贯穿之后,窜改r o o t的口令。     报告效劳器再运用mysqladmin flush-privileges 运用受权表启用。即使您的mysqladmin 本子不辨别f l us h - priv i l e g e s,试着举行从新加载。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.