📄 1832.html
字号:
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif">
<div align=center><font class=normalfont>搜索文章:
<input type=hidden value=result name=action2>
<input type=radio checked value=title name=type>标题
<input type=radio value=content name=type>内容
<input type=image src="images/button_go.gif" tppabs="http://www.linuxhero.com/docs/images/button_go.gif" border=0 name=image2>
</font></div>
</td>
</tr>
<tr>
<td noWrap>
<div align="center">
<input maxlength=100 size=30 name=keyword2>
</div>
</td>
</tr></tbody>
</table>
</form>
</TD>
<TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
<TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
<TR>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22
src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0
name=header_r2_c1></TD>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
<DIV align=right><FONT class=normalfont>当前位置:
<A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
<font color="#FF6699">>></font>
<A href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</A> | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
</TD>
<TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff
border=0>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
<TR>
<TD vAlign=top align=middle width="60%">
<TABLE cellSpacing=0 cellPadding=0 width="100%"
background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
<TBODY>
<TR>
<TD vAlign=top width="80%">
<DIV align=center>
<FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
</FORM>
<TABLE cellSpacing=0 cellPadding=0 width="95%"
border=0><TBODY>
<TR>
<TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif"
height=30></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>MySQL服务器的启动与停止</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>一、以非特权用户运行MySQL服务器<br>
在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务<br>
器。服务器可以手动或自动启动。如果你手动启动它, 服务器以你登录Unix(Linux)的用<br>
户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行;如果你用su命令切换<br>
到root,然后运启动服务器,则它以root运行。然而,大多数情况下你可能不想手动启动服<br>
务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,<br>
在Unix下,该引导过程由系统的Unix用户root执行,并且任何在该过程中运行的进程均以<br>
root权限运行。<br>
<br>
你应该牢记MySQL服务器启动过程的两个目标:<br>
1. 你想让服务器以某个非root用户运行。一般地,你想限制任何运行进程的能力,除<br>
非确实需要root权限,而MySQL不需要。 <br>
2. 你想让服务器始终以同一个用户运行,此时用一个用户而其他时候以另一个不同的<br>
用户运行服务器是很不方便的,这造成了为文件和目录以具有不同属主的数据目录<br>
下被创建,并可能导致服务器不能访问数据库或表,这看你以哪个用户运行。统一<br>
用同一个用户运行服务器是你避免这个问题。 <br>
<br>
要一个普通的非特权用户运行服务器,按照下列步骤:<br>
1. 选择一个用于运行服务器的用户,mysqld可以用任何用户运行。但在概念上较清晰<br>
的是为MySQL操作创建一个单独的用户。你也可以特别为MySQL选择一个用户组。本<br>
文使用mysqladm和mysqlgrp分别作为用户名和用户组名。<br>
2. 如果你已在自己的账号下安装好了MySQL且没有系统上的特殊管理权限, 你将可能<br>
在你自己的用户ID下运行服务器。在这种情况下,用你自己的登录名和用户组代替<br>
mysqladm和mysqlgrp。<br>
3. 如果你在RedHat Linux上用rpm文件安装MySQL,该安装将自动创建一个名为mysql<br>
的账号,用该账号代替mysqladm。 <br>
4. 如果必要,用系统通常的创建用户的过程创建服务器账号,你需要用root做它。 <br>
5. 如果服务器在运行,停止它。 <br>
6. 修改数据目录和任何子目录和文件的属主,这样使得mysqladm用户拥有它们。例如,<br>
如果数据目录是/usr/local/var,你可以如下设置mysqladm的属主(你需要以root<br>
运行这些命令):<br>
#cd /usr/local/var<br>
#chown -R mysqladm.mysqlgrp<br>
<br>
修改数据目录和任何子目录和文件的权限,使得它们只能由mysqladm用户访问。如果数<br>
据目录是/usr/local/var,你可以设置由mysqladm拥有的任何东西:<br>
# cd /usr/local/var<br>
# chmod -R go-rwx <br>
当你设置数据目录及其内容的属主和模式时,注意符号连接。你需要顺着它们并改变它<br>
们指向的文件或目录的属主和模式。如果连接文件的目录位于不属于你的地方,会有些麻烦,<br>
你可能需要root身份。<br>
在你完成了上述过程后,你应该确保总是在以mysqladm或root登录时启动服务器,在后<br>
者,确定指定--user=mysqladm选项, 使服务器能将其用户ID切换到mysqladm(同时也适用<br>
于系统启动过程)。<br>
--user选项在MySQL 3.22中引入,如果你有老版本,你可以使用su命令告诉系统在以<br>
root运行时在特定的用户下运行服务器。<br>
<br>
二、启动服务器的方法<br>
在我们确定了用于运行服务器的账号后,你可以选择如何安排启动服务器。你可以从命<br>
令行手动或在系统引导过程中自动地运行它。对于启动服务器由三种主要方法:<br>
1. 直接调用mysqld。<br>
这可能是最不常用的方法,建议不要多使用,因此本文不详细介绍。 <br>
2. 调用safe_mysqld脚本。<br>
safe_mysqld试图确定服务器程序和数据目录的位置。 然后用反映这些值的选项调<br>
用服务器。safe_mysqld将标准出错设备从服务器重定位到数据目录下的一个出错文件,<br>
使得有它的一条记录。在启动服务器后, safe_mysqld也监视它并且如果它死掉则重启<br>
它。safe_mysqld常用于BSD风格的Unix系统。<br>
如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有, 这可能<br>
在你以后试图用一个非特权用户调用safe_mysqld时将导致"permission denied"(权限<br>
拒绝)错误,删除出错日志再试一下。 <br>
3. 调用mysql.server脚本。<br>
这个脚本通过有意用于System V的启动和停止系统上的safe_mysqld.mysql.server<br>
来启动服务器,该系统包含几个包含在机器进入或退出一个给定运行级别时被点用的脚<br>
本目录。它可以用一个start或stop参数点用以表明你是想启动还是想停止服务器。<br>
safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的<br>
scripts目录下找到。mysql.server脚本安装在MySQL安装目录下的share/mysqld目录下<br>
或可以在MySQL源代码分发的support_files目录下找到。如果你想使用它们,你需要将<br>
它们拷贝到适当的目录下。<br>
对BSD风格的系统(FreeBSD,OpenBSD等), 通常在/etc目录下有几个文件在引导<br>
时初始化服务,这些文件通常有以“rc”开头的名字,且它有可能由一个名为“rc.local”<br>
的文件(或类似的东西),特意用于启动本地安装的服务。在这样的系统上,你可能将<br>
类似于下列的行加入rc.local文件中以启动服务器 (如果safe_mysqld的目录在你的系<br>
统上不同,修改它即可):<br>
if [ -x /usr/local/bin/safe_mysqld ]; then<br>
/usr/local/bin/safe_mysqld &<br>
fi<br>
<br>
对于对于System V风格的系统,你可以通过将mysql.server放在/etc下适当的启动<br>
目录下来安装它。如果你运行Linux并从一个RPM文件安装MySQL,这些已经为你做好了,<br>
否则将脚本安装在主启动目录下,并将指向它的连接放在适当的运行级别目录下。你也<br>
可以使脚本只能由root启动。 <br>
<br>
启动文件的目录布局各系统不同,所以你需要检查一下看看你的系统如何组织它们。<br>
例如在Linux PPC上,目录是/etc/rc.d和/etc/rc.d/rc3.d,这样你可以这样安装脚本:<br>
<br>
#cp mysql.server /etc/rc.d/init.d<br>
#cd /etc/init.d<br>
#chmod 500 mysql.server<br>
#cd /etc/rc.d/rc3.d<br>
#ln -s ../init.d/mysql.server S99mysql<br>
在solaris上,主脚本目录是/etc/init.d,并且运行级别目录是/etc/rd2.d,所以<br>
命令看上去像这样:<br>
<br>
#cp mysql.server /etc/rc.d/init.d<br>
#cd /etc/init.d<br>
#chmod 500 mysql.server<br>
#cd /etc/rc2.d<br>
#ln -s ../init.d/mysql.server S99mysql<br>
在系统启动时,S99mysql脚本将自动用一个start参数调用。如果你有chkconfig命<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -