关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »MySQL数据库的启动与终止(1)

    MySQL数据库的启动与终止(1)

    2015-08-09 00:00:00 出处:ITJS
    分享

    由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样。你可以根据实际情况使用其中的一种。在你安装、升级或者维护系统时,你可能需要多次启动和终止服务器,你需要了解启动和终止服务器的方方面面。

    直接运行守护程序

    1、你可以采用的方法

    一般的,你可以有以下几种选择启动MySQL服务器,它们的功能和用法几乎是相同的,所以一起在这里介绍:

    直接使用MySQL守护程序mysqld启动数据库系统,尤其是Win32平台上的分发,这是因为,在Win32平台上没有mysql.server等服务器脚本可用。

    通过调用safe_mysqld脚本,它接受与mysqld相同的参数,并试图为mysqld决定正确的选项,然后选择用那些运行它。

    2、脚本或者守护程序的存放位置

    对于二进制分发的安装,mysqld守护程序安装在MySQL安装目录的bin目录下,或者可在MySQL源代码分发的libexec目录下找到,缺省为/usr/local/libexec/。对于rpm分发,mysqld应该位于PATH变量决定的程序搜索路径中,因此可以直接引用。

    safe_mysqld仍旧是一个脚本,并且只存在于Unix平台的分发中。safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。对于rpm分发,该脚本应该位于PATH变量决定的程序搜索路径中,因此可以直接引用。

    3、为什么要使用safe_mysqld脚本

    safe_mysqld接受和mysqld同样的参数,并试图确定服务器程序和数据库目录的位置,然后利用这些位置调用服务器。safe_mysqld将服务器的标准错误输出重定向到数据库目录中的错误文件中,并以记录的形式存在。启动服务器后,safe_mysqld还监控服务器,并在其死机时重新启动。safe_mysqld通常用于Unix的BSD风格的版本。

    如果,你曾经为root或在系统启动程序中启动safe_mysqld,其错误日志将有root拥有。如果再用非特权的用户身份调用safe_mysqld,则可能引起“Access Denied”(即,“所有权被拒绝”)的错误。此时可以删除错误文件在试一次。

    由于safe_mysqld脚本的功能,使用safe_mysqld脚本明显比直接启动mysqld守护程序来得有效。

    4、启动服务器的完整过程

    对于Unix平台上的分发,如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有,这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致“permission denied”(权限拒绝)错误,删除出错日志再试一下。因此建议你在启动服务器前,首先切换到一个专门的用户mysql。

    具体方法如下:

    Unix平台

    $ su mysql

    $ safe_mysql & (或者 mysqld & ,不推荐)

    Win32平台

    C: mysqlbin>mysqld --standalone

    或者C: mysqlbin>mysqld-nt –standalone

    如果你使用mysqld并且没有把mysql安装在标准的位置,通常需要提供—basedir选项你的数据库的安装位置。

    $safe_mysqld --basedir=”/path/to/mysql” &(Unix平台)

    c:mysqlbin>mysqld --basedir=”x:/path/to/mysql” (Win32平台)

    5、使用safe_mysqld脚本实现服务器的自动启动

    同样你可以利用safe_mysqld和mysqld实现服务器随操作系统自动启动。对于Linux系统以及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

    由于这样在引导时启动,将使用root身份启动数据库,在某些时候可能会产生问题和麻烦。这是你可以指定--user选项,因此可以将上面的代码修改为:

    if [ -x /usr/local/bin/safe_mysqld ]; then

    /usr/local/bin/safe_mysqld --user=mysql --datadir=/path/to/data  &

    fi

    使用脚本mysql.server启动关闭数据库

    对于Unix平台上的分发,比较好的办法是使用数据库脚本mysql.server,启动和关闭数据库。

    1、mysql.server脚本的存放位置

    mysql.server脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的support_files目录下找到。对于rpm分发,该脚本已经改名mysql位于/etc/rc.d/init.d目录中,另外在….中存在一个副本mysql.server。下文的讨论对RPM分发来说,都在安装中完成了。如果你想使用它们,你需要将它们拷贝到适当的目录下。

    2、如何使用mysql.server脚本启动停止服务器

    mysql.server脚本可以被用来启动或停止服务器,通过用start或stop参数调用它:

    $ mysql.server start

    $ mysql.server stop

    3、mysql.server的功能简述

    在mysql.server启动服务器之前,它把目录改变到MySQL安装目录,然后调用safe_mysqld。如果你有在一个非标准的地点安装的二进制分发,你可能需要编辑mysql.server。修改它,运行safe_mysqld前,cd到正确的目录。

    4、让mysql.server以特定的用户启动服务器

    如果你想要作为一些特定的用户运行服务器,你可以改变mysql_daemon_user=root行使用其他用户,你也能修改mysql.server把其他选项传给safe_mysqld。

    当然你也可以利用选项文件给mysql.server脚本提供参数。

    使用mysqladmin实用程序关闭、重启数据库

    日常维护数据库,经常需要关闭或者重新启动数据库服务器。mysql.server stop只能用于关闭数据库系统,并不方便,而且mysql.server脚本用特定用户身份启动服务器,因此使用该教本需要超级用户的权限。相比之下mysqladmin就方便的多,并且适用于MySQL所有类型、平台的安装。

    关闭数据库服务器

    mysqladmin shutdown

    重启数据库服务器

    mysqladmin reload

    获得帮助

    mysqladmin –help

    mysqladmin实用程序非常有使用价值,仔细阅读帮助输出,你会得到更多的用法。

    如果出现下面的错误:

    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user: 'chinastor.com-root@localhost' (Using password: YES)'
    

    由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样。你可以根据实际情况使用其中的一种。在你安装、升级或者维护系统时,你可能需要多次启动和终止服务器,你需要了解启动和终止服务器的方方面面。

    直接运行守护程序

    1、你可以采用的方法

    一般的,你可以有以下几种选择启动MySQL服务器,它们的功能和用法几乎是相同的,所以一起在这里介绍:

    直接使用MySQL守护程序mysqld启动数据库系统,尤其是Win32平台上的分发,这是因为,在Win32平台上没有mysql.server等服务器脚本可用。

    通过调用safe_mysqld脚本,它接受与mysqld相同的参数,并试图为mysqld决定正确的选项,然后选择用那些运行它。

    2、脚本或者守护程序的存放位置

    对于二进制分发的安装,mysqld守护程序安装在MySQL安装目录的bin目录下,或者可在MySQL源代码分发的libexec目录下找到,缺省为/usr/local/libexec/。对于rpm分发,mysqld应该位于PATH变量决定的程序搜索路径中,因此可以直接引用。

    safe_mysqld仍旧是一个脚本,并且只存在于Unix平台的分发中。safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。对于rpm分发,该脚本应该位于PATH变量决定的程序搜索路径中,因此可以直接引用。

    3、为什么要使用safe_mysqld脚本

    safe_mysqld接受和mysqld同样的参数,并试图确定服务器程序和数据库目录的位置,然后利用这些位置调用服务器。safe_mysqld将服务器的标准错误输出重定向到数据库目录中的错误文件中,并以记录的形式存在。启动服务器后,safe_mysqld还监控服务器,并在其死机时重新启动。safe_mysqld通常用于Unix的BSD风格的版本。

    如果,你曾经为root或在系统启动程序中启动safe_mysqld,其错误日志将有root拥有。如果再用非特权的用户身份调用safe_mysqld,则可能引起“Access Denied”(即,“所有权被拒绝”)的错误。此时可以删除错误文件在试一次。

    由于safe_mysqld脚本的功能,使用safe_mysqld脚本明显比直接启动mysqld守护程序来得有效。

    4、启动服务器的完整过程

    对于Unix平台上的分发,如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有,这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致“permission denied”(权限拒绝)错误,删除出错日志再试一下。因此建议你在启动服务器前,首先切换到一个专门的用户mysql。

    具体方法如下:

    Unix平台

    $ su mysql

    $ safe_mysql & (或者 mysqld & ,不推荐)

    Win32平台

    C: mysqlbin>mysqld --standalone

    或者C: mysqlbin>mysqld-nt –standalone

    如果你使用mysqld并且没有把mysql安装在标准的位置,通常需要提供—basedir选项你的数据库的安装位置。

    $safe_mysqld --basedir=”/path/to/mysql” &(Unix平台)

    c:mysqlbin>mysqld --basedir=”x:/path/to/mysql” (Win32平台)

    5、使用safe_mysqld脚本实现服务器的自动启动

    同样你可以利用safe_mysqld和mysqld实现服务器随操作系统自动启动。对于Linux系统以及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

    由于这样在引导时启动,将使用root身份启动数据库,在某些时候可能会产生问题和麻烦。这是你可以指定--user选项,因此可以将上面的代码修改为:

    if [ -x /usr/local/bin/safe_mysqld ]; then

    /usr/local/bin/safe_mysqld --user=mysql --datadir=/path/to/data  &

    fi

    使用脚本mysql.server启动关闭数据库

    对于Unix平台上的分发,比较好的办法是使用数据库脚本mysql.server,启动和关闭数据库。

    1、mysql.server脚本的存放位置

    mysql.server脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的support_files目录下找到。对于rpm分发,该脚本已经改名mysql位于/etc/rc.d/init.d目录中,另外在….中存在一个副本mysql.server。下文的讨论对RPM分发来说,都在安装中完成了。如果你想使用它们,你需要将它们拷贝到适当的目录下。

    2、如何使用mysql.server脚本启动停止服务器

    mysql.server脚本可以被用来启动或停止服务器,通过用start或stop参数调用它:

    $ mysql.server start

    $ mysql.server stop

    3、mysql.server的功能简述

    在mysql.server启动服务器之前,它把目录改变到MySQL安装目录,然后调用safe_mysqld。如果你有在一个非标准的地点安装的二进制分发,你可能需要编辑mysql.server。修改它,运行safe_mysqld前,cd到正确的目录。

    4、让mysql.server以特定的用户启动服务器

    如果你想要作为一些特定的用户运行服务器,你可以改变mysql_daemon_user=root行使用其他用户,你也能修改mysql.server把其他选项传给safe_mysqld。

    当然你也可以利用选项文件给mysql.server脚本提供参数。

    表示你需要一个可以正常连接的用户,请指定-u -p选项,例如,你现在可以:

    shell>mysqladmin -u root -p shutdown
    Enter Password:***********
    

    输入你修改过的密码即可。

    启动或停止NT平台上的系统服务

    上面几节介绍了Unix平台上使数据库服务器自动启动的方法,而在windows(NT)平台上为了让MySQL数据库自动启动,你需要将MySQL服务器安装成NT系统的一种服务。

    1、将MySQL安装成系统服务

    对于NT,服务器名字是mysqld-nt。

    C:mysqlbin> mysqld-nt --install
    

    (你可以在 NT 上使用mysqld或mysqld-opt服务器,但是那些不能作为一种服务启动或使用命名管道。)

    2、修改选项文件

    如果你的mysql没有安装缺省的位置c:mysql,那么因为数据库将无法确定数据库目录的位置,而无法启动。这种情况下,你需要提供一个全局的选项文件c:my.cnf。将安装目录中的my-example.cnf文件拷贝到c盘根目录下。修改或加入:

    [mysqld]
    basedir = x:/path/to/mysql/
    

    3、启动、停止服务器的方法

    你可以用下列命令启动和停止MySQL服务:

    NET START mysql
    NET STOP mysql
    

    注意在这种情况下,你不能对mysqld-nt使用任何其他选项!你需要使用选项文件提供参数。可以在选项文件中提供合适的参数。

    使用选项文件提供服务器的参数

    本节介绍守护程序需要的比较重要的选项。

    对于全局选项文件(windows:c:/my.cnf 或者 unix:/etc/my.cnf),比较重要的选项有:

    user 运行守护程序的用户,如果你使用mysql.server,并且在[mysql.server]中指定了user,那么这个选项没有必要。

    log-update=file 更新日志名,对于恢复数据库有重要意义,数据库服务器将生成file.n为名的更新日志文件。

    -l, --log[=file]  指定常规日志名

    --log-bin[=file]  指定使用的二进制日志文件,应用于服务器复制。

    -Sg, --skip-grant-tables  启动时不加载授权表,维护时使用。

    -u, --user=user_name  启动服务器使用的Unix帐户

    --socket=...  指定是用的Unix套接字文件名,在同时运行多个服务器时使用。

    -P, --port=...  指定服务器使用的端口,在同时运行多个服务器时使用。

    总结

    作为MySQL的管理员,你平时的指责就是确保服务器尽可能的正常运行,使得客户机能够正常访问。本章讨论了如何启动和重启、关闭服务器,如果你具备了这个能力,就可以更好的维护服务器安装。本章介绍的方法,多数适合于Unix系统,读者请仔细分辨。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    如何从 Windows 11 中完全删除/卸载 OneNote?无解!

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    IT头条

    华为Pura80系列新机预热,余承东力赞其复杂光线下的视频拍摄实力

    01:28

    阿里千问3开源首战告捷:全球下载破千万,国产AI模型崛起新高度!

    01:22

    DeepSeek R1小版本试升级:网友实测编程能力已达到国际一线水平

    23:15

    NVIDIA 与 Dell 合作,大规模交付 Blackwell AI 系统

    20:52

    Cerebras 以最快的 Llama 4 Maverick 性能引领 LLM 推理竞赛

    20:51

    技术热点

    PHP中的随机性——你觉得自己幸运吗?

    搞定Ubuntu Linux下WPA无线上网

    Java使用内存映射实现大文件的上传

    MySQL安全性指南

    MySQL两项性能的基本测试浅谈

    教您使用UniqueIdentifier选取SQL Server主键

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。