首页 数据库 mysql教程 启动和关闭MySQL服务器

启动和关闭MySQL服务器

Jun 07, 2016 pm 03:20 PM
linux mysql 关闭 启动 服务器 社区 进入

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 作为MySQL管理员,一个普通的目标就是确保服务器尽可能地处于运行状态,使得客户机能够随时访问它。但是,有时最好关闭服务器(例如,如果正在进行数据库的重定位,不希望服务器在该数据库中更新表)

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  作为MySQL管理员,一个普通的目标就是确保服务器尽可能地处于运行状态,使得客户机能够随时访问它。但是,有时最好关闭服务器(例如,如果正在进行数据库的重定位,不希望服务器在该数据库中更新表)。保持服务器运行和偶尔关闭它的需求关系不是本文所解决的。但是我们至少可以讨论如何使服务器启动和停止,以便您具备进行这两个操作的能力。

  本章的说明只用于UNIX 系统。

  调用本章给出的命令

  为了简洁,在大多数情况中,诸如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,则可能引起"所有权被拒绝"的错误。删除该错误文件再试一次。

  调用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

[1] [2] 

启动和关闭MySQL服务器

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MySQL的角色:Web应用程序中的数据库 MySQL的角色:Web应用程序中的数据库 Apr 17, 2025 am 12:23 AM

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

laravel入门实例 laravel入门实例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resources/views 中创建视图以呈现应用程序的界面。数据库集成: 提供与 MySQL 等数据库的开箱即用集成,并使用迁移来创建和修改表。模型和控制器: 模型表示数据库实体,控制器处理 HTTP 请求。

notepad怎么运行java代码 notepad怎么运行java代码 Apr 16, 2025 pm 07:39 PM

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

解决数据库连接问题:使用minii/db库的实际案例 解决数据库连接问题:使用minii/db库的实际案例 Apr 18, 2025 am 07:09 AM

在开发一个小型应用时,我遇到了一个棘手的问题:需要快速集成一个轻量级的数据库操作库。尝试了多个库后,我发现它们要么功能过多,要么兼容性不佳。最终,我找到了minii/db,这是一个基于Yii2的简化版本,完美地解决了我的问题。

git怎么查看仓库地址 git怎么查看仓库地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

Linux体系结构:揭示5个基本组件 Linux体系结构:揭示5个基本组件 Apr 20, 2025 am 12:04 AM

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

laravel安装代码 laravel安装代码 Apr 18, 2025 pm 12:30 PM

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)

MySQL与其他编程语言:一种比较 MySQL与其他编程语言:一种比较 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

See all articles