MySQL数据库的启动与终止

2016-02-19 19:51 5 1 收藏

下面这个MySQL数据库的启动与终止教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - 编程语言 】

  由于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: mysqlbinmysqld --standalone

  或者C: mysqlbinmysqld-nt –standalone

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  c:mysqlbinmysqld --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脚本提供参数。

  你也可以在一个全局“/etc/my.cnf”文件中增加mysql.server的选项。一个典型的“/etc/my.cnf”文件可能看起来像这样:

[mysqld]
datadir=/usr/local/mysql/var
socket=/tmp/mysqld.sock
port=3306
[mysql.server]
user=mysql
basedir=/usr/local/mysql

  mysql.server脚本使用下列变量:user、datadir、basedir、bindir和pid-file。

  5、利用mysql.server脚本让服务器自动启动

  mysql.server脚本的重要性在于你可以使用它配置一个随操作系统自动启动的数据库安装,这是一个实际的系统中常用的方法。

  把mysql.server复制到/etc/rc.d/init.d目录里面:

# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server mysql

  接着把它的属性改为“x”(executable,可执行)

  # chmod +x mysql

  最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。

# /sbin/chkconfig --del mysql
# /sbin/chkconfig --add mysql

  你也可以这样做,手工建立链接:

#cd /etc/rc.d/rc3.d    (根据你的运行级不同而不同,可以是rc5.d)
#ln –s ../init.d/mysql S99mysql

  在系统启动期间,S99mysql脚本利用start参数自动启动。

  使用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: 'root@localhost' (Using password: YES)'

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

shellmysqladmin -u root -p shutdown
Enter Password:***********

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

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

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

  1、将MySQL安装成系统服务

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  对于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系统,读者请仔细分辨。

来源:http://www.tulaoshi.com/n/20160219/1622007.html

延伸阅读
标签: MySQL mysql数据库
MySQL允许影响语句的调度特性,这样会使来自几个客户机的查询更好地协作,从而单个客户机不会被锁定太长的时间。更改调度特性还能保证特定的查询处理得更快。我们先来看一下MySQL的缺省调度策略,然后 来看看为改变这个策略可使用什么样的选项。出于讨论的目的,假设执行检索( SELECT)的客户机程序为读取程序。执行修改表操作( DELETE,INSE...
1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。...
标签: MySQL mysql数据库
因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法。 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中 的...
俗话说“好的开始是成功的一半”,而PHP+MySQL项目中数据库的操作是重点之一,能否简化数据库操作程序的编写,就成了影响工作效率的关键之一。 所以小阳并不是一开始就做页面,而是先建立一个“dbclass.php”文件,开始编写操作MySQL数据库的类“dbClass”。即在“dbclass.php”中编写以下程序: <? php $db_username="myusername...
3.3 创建、删除和选择数据库     MySQL 提供了三条数据库级的语句,它们分别是: C R E ATE DATABASE 用于创建数据库,DROP DATABASE 用于删除数据库,USE 用于选择缺省数据库。     1. CREATE DATABASE 语句     创建一个数据库很容易;只要在C R E ATE DATABASE 语句中给出其名称即可...

经验教程

230

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部