知识大全 MySQL服务器的启动与停止

Posted

篇首语:留得青山在,不怕没柴烧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 MySQL服务器的启动与停止相关的知识,希望对你有一定的参考价值。

MySQL服务器的启动与停止  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   一 以非特权用户运行MySQL服务器  在讨论如何启动MySQL服务器之前 让我们考虑一下应该以什么用户身份运行MySQL服务器 服务器可以手动或自动启动 如果你手动启动它 服务器以你登录Unix(Linux)的用户身份启动 即如果你用paul登录Unix并启动服务器 它用paul运行 如果你用su命令切换到root 然后运启动服务器 则它以root运行 然而 大多数情况下你可能不想手动启动服务器 最有可能是你安排MySQL服务器在系统引导时自动启动 作为标准引导过程的一部分 在Unix下 该引导过程由系统的Unix用户root执行 并且任何在该过程中运行的进程均以root权限运行     你应该牢记MySQL服务器启动过程的两个目标     你想让服务器以某个非root用户运行 一般地 你想限制任何运行进程的能力 除非确实需要root权限 而MySQL不需要   你想让服务器始终以同一个用户运行 此时用一个用户而其他时候以另一个不同的用户运行服务器是很不方便的 这造成了为文件和目录以具有不同属主的数据目录下被创建 并可能导致服务器不能访问数据库或表 这看你以哪个用户运行 统一用同一个用户运行服务器是你避免这个问题       要一个普通的非特权用户运行服务器 按照下列步骤   选择一个用于运行服务器的用户 mysqld可以用任何用户运行 但在概念上较清晰的是为MySQL操作创建一个单独的用户 你也可以特别为MySQL选择一个用户组 本文使用mysqladm和mysqlgrp分别作为用户名和用户组名   如果你已在自己的账号下安装好了MySQL且没有系统上的特殊管理权限 你将可能在你自己的用户ID下运行服务器 在这种情况下 用你自己的登录名和用户组代替mysqladm和mysqlgrp   如果你在RedHat Linux上用rpm文件安装MySQL 该安装将自动创建一个名为mysql的账号 用该账号代替mysqladm   如果必要 用系统通常的创建用户的过程创建服务器账号 你需要用root做它   如果服务器在运行 停止它   修改数据目录和任何子目录和文件的属主 这样使得mysqladm用户拥有它们 例如 如果数据目录是/usr/local/var 你可以如下设置mysqladm的属主(你需要以root运行这些命令)     #cd /usr/local/var  #chown R mysqladm mysqlgrp    修改数据目录和任何子目录和文件的权限 使得它们只能由mysqladm用户访问 如果数据目录是/usr/local/var 你可以设置由mysqladm拥有的任何东西     # cd /usr/local/var  # chmod R go rwx   当你设置数据目录及其内容的属主和模式时 注意符号连接 你需要顺着它们并改变它们指向的文件或目录的属主和模式 如果连接文件的目录位于不属于你的地方 会有些麻烦 你可能需要root身份     在你完成了上述过程后 你应该确保总是在以mysqladm或root登录时启动服务器 在后者 确定指定 user=mysqladm选项 使服务器能将其用户ID切换到mysqladm(同时也适用于系统启动过程)      user选项在MySQL 中引入 如果你有老版本 你可以使用su命令告诉系统在以root运行时在特定的用户下运行服务器      二 启动服务器的方法  在我们确定了用于运行服务器的账号后 你可以选择如何安排启动服务器 你可以从命令行手动或在系统引导过程中自动地运行它 对于启动服务器由三种主要方法     直接调用mysqld   这可能是最不常用的方法 建议不要多使用 因此本文不详细介绍   调用safe_mysqld脚本   safe_mysqld试图确定服务器程序和数据目录的位置 然后用反映这些值的选项调用服务器 safe_mysqld将标准出错设备从服务器重定位到数据目录下的一个出错文件 使得有它的一条记录 在启动服务器后 safe_mysqld也监视它并且如果它死掉则重启它 safe_mysqld常用于BSD风格的Unix系统   如果你以root或在系统引导期间启动sqfe_mysqld 出错日志由root拥有 这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致 permission denied (权限拒绝)错误 删除出错日志再试一下   调用mysql server脚本   这个脚本通过有意用于System V的启动和停止系统上的safe_mysqld mysql server来启动服务器 该系统包含几个包含在机器进入或退出一个给定运行级别时被点用的脚本目录 它可以用一个start或stop参数点用以表明你是想启动还是想停止服务器   safe_mysqld脚本安装在MySQL安装目录的bin目录下 或可在MySQL源代码分发的scripts目录下找到 mysql server脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的support_files目录下找到 如果你想使用它们 你需要将它们拷贝到适当的目录下     对BSD风格的系统(FreeBSD OpenBSD等) 通常在/etc目录下有几个文件在引导时初始化服务 这些文件通常有以 rc 开头的名字 且它有可能由一个名为 rc local 的文件(或类似的东西) 特意用于启动本地安装的服务 在这样的系统上 你可能将类似于下列的行加入rc local文件中以启动服务器(如果safe_mysqld的目录在你的系统上不同 修改它即可)     if [ x /usr/local/bin/safe_mysqld ]; then  /usr/local/bin/safe_mysqld &  fi  对于对于System V风格的系统 你可以通过将mysql server放在/etc下适当的启动目录下来安装它 如果你运行Linux并从一个RPM文件安装MySQL 这些已经为你做好了 否则将脚本安装在主启动目录下 并将指向它的连接放在适当的运行级别目录下 你也可以使脚本只能由root启动     启动文件的目录布局各系统不同 所以你需要检查一下看看你的系统如何组织它们 例如在Linux PPC上 目录是/etc/rc d和/etc/rc d/rc d 这样你可以这样安装脚本     #cp mysql server /etc/rc d/init d  #cd /etc/init d  #chmod mysql server  #cd /etc/rc d/rc d  #ln s /init d/mysql server S mysql  在solaris上 主脚本目录是/etc/init d 并且运行级别目录是/etc/rd d 所以命令看上去像这样     #cp mysql server /etc/rc d/init d  #cd /etc/init d  #chmod mysql server  #cd /etc/rc d  #ln s /init d/mysql server S mysql  在系统启动时 S mysql脚本将自动用一个start参数调用 如果你有cconfig命令(Linux上有) 你可以由它帮助安装mysql server脚本而不是象上面那样手工运行上述命令      指定启动选项  如果你想在服务器启动时指定额外的启动选项 你可有两种方法 你可以修改你使用的启动脚本(safe_mysqld或mysql server)并直接在调用服务器的行上指定选项 或在一个选项文件中指定选项 建议你如果可能在一个全局选项文件中指定选项 它通常位于/etc/f(Unix)或c:\\f(Windows)     某些种类的信息无法以服务器选项指定 对于这些你可能需要修改safe_mysqld 例如 如果你的服务器不能正确选择本地时区而以GMT返回时间值 你可以设置TZ环境变量给它一个指示 如果你用safe_mysqld或mysql server启动服务器 你可以将一个时区设置加到safe_mysqld 找到启动服务器的行并在该行前加入下列命令     TZ=US/Central  export TZ  上面命令的语法是Solaris的 对于其他系统语法可能不同 请查阅相关手册 如果你确实修改了你的启动脚本 要记住下次你安装MySQL时(如升级到新版本) 你的修改将失去 除非你首先在别处复制了启动脚本 在安装了新版本后 比较新旧版本的脚本 看看你需要重建什么改变      在启动时检查你的表  除了安排你的服务器在系统引导时启动 你可能要安装myisamc和isamc脚本 以在服务器启动前检查你的表 你可能在一个崩溃后重启 有可能表已经损害 在启动前检查它是一个发现问题的好方法      三 停止服务器  要手工启动服务器 使用mysqladmin     %mysqladmin shutdown    要自动停止服务器 你不需做特别的事情 BSD系统一般通过向进程发一个TERM信号停止服务 它们或者正确应答它或被粗鲁地杀死 mysqld在它收到这个信号时以终止作为应答 对于用mysql server启动服务器的System V风格的系统 停止进程将用一个stop参数调用该脚本 告诉服务器终止 当然假定你已安装了mysql server      四 如果你不能连接服务器 如何重新获得对服务器的控制  在某些情况下 你可能由于不能连接它而手工重启服务器 当然 这有点矛盾 因为一般你通过连接服务器而手工关掉它 那么这种情况如何会出现     首先 MySQL root口令可以已经设置为你不知道的值 这可能发生在你修改口令时 例如 如果你在输入新口令时偶然键入一个不可见的控制字符 你也可能忘记口令     其次 连接localhost通常通过一个Unix域套接字文件进行 一般是/tmp/mysql sock 如果套接字文件被删除了 本地客户就不能连接 这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件     如果你因为丢失套接字文件而不能连接 你可以简单地通过重启服务器重新创建得到它 因为服务器在启动时重新创建它 这里的骗局是你不能用套接字建立连接因为它不见了 你必须建立一个TCP/IP连接 例如 如果服务器主机是 你可以这样连接     %mysqladmin p u root h shutdown    如果套接字文件被一个cron任务删除 问题将重复出现 除非你修改cron任务或使用一个或使用一个不同的套接字文件 你可以使用全局选项文件 cha138/Article/program/MySQL/201311/29507

相关参考

知识大全 启动和关闭MySQL服务器

启动和关闭MySQL服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作为MySQL管理员一

知识大全 MySQL服务无法启动 系统发生1058错误

案例:MySQL服务无法启动系统发生1058错误  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 linux下Oracle自动启动与停止

linux下Oracle自动启动与停止  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!修改Oracl

知识大全 讲解linux环境下Oracle的自动启动与停止

讲解linux环境下Oracle的自动启动与停止  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 mysql随Linux开机自动启动

mysql随Linux开机自动启动  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在MySQL的

知识大全 你应该知道的10个MySQL客户启动选项

你应该知道的10个MySQL客户启动选项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    大部

知识大全 windows audio和plug and play一起停止服务,还有设备管理器里是一片空白,这该怎么办

windowsaudio和plugandplay一起停止服务,还有设备管理器里是一片空白,这该怎么办原因分析此情况一般为用户电脑中了病毒,杀毒后造成,或者关闭了某些服务。解决方案解法一:启动Pluga

知识大全 管理员必读10个重要MySQL客户启动选项

管理员必读10个重要MySQL客户启动选项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  大部分

知识大全 DBA应当了解的MySQL客户端程序启动选项

DBA应当了解的MySQL客户端程序启动选项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  许多

知识大全 服务器优化——Sysctl、Apache、MySQL

服务器优化——Sysctl、Apache、MySQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!