教你如何启动和停止Mysql服务之一

教你如何启动和停止Mysql服务之一,第1张

在讨论如何启动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 mysqladmmysqlgrp

修改数据目录和任何子目录和文件的权限,使得它们只能由mysqladm用户访问。如果数据目录是/usr/local/var,你可以设置由mysqladm拥有的任何东西:

# cd /usr/local/var

# chmod -R go-rwx

当你设置数据目录及其内容的属主和模式时,注意符号连接。你需要顺着它们并改变它们指向的文件或目录的属主和模式。如果连接文件的目录位于不属于你的地方,会有些麻烦,你可能需要root身份。

在你完成了上述过程后,你应该确保总是在以mysqladm或root登录时启动服务器,在后者,确定指定--user=mysqladm选项,使服务器能将其用户ID切换到mysqladm(同时也适用于系统启动过程)。

--user选项在MySQL 322中引入,如果你有老版本,你可以使用su命令告诉系统在以root运行时在特定的用户下运行服务器。

启动服务器的方法

在我们确定了用于运行服务器的账号后,你可以选择如何安排启动服务器。你可以从命令行手动或在系统引导过程中自动地运行它。对于启动服务器由三种主要方法:

直接调用mysqld。

这可能是最不常用的方法,建议不要多使用,因此本文不详细介绍。

调用safe_mysqld脚本

safe_mysqld试图确定服务器程序和数据目录的位置。然后用反映这些值的选项调用服器。safe_mysqld将标准出错设备从服务器重定位到数据目录下的一个出错文件,使得有它的一条记录。在启动服务器后,safe_mysqld也监视它并且如果它死掉则重启它。safe_mysqld常用于BSD风格的Unix系统。

如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有,这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致“permission denied”(权限拒绝)错误,删除出错日志再试一下。

调用mysqlserver脚本。

这个脚本通过有意用于System V的启动和停止系统上的safe_mysqldmysqlserver来启动服务器,该系统包含几个包含在机器进入或退出一个给定运行级别时被点用的脚本目录。它可以用一个start或stop参数点用以表明你是想启动还是想停止服务器。

safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。mysqlserver脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的support_files目录下找到。如果你想使用它们,你需要将它们拷贝到适当的目录下。

对BSD风格的系统(FreeBSD,OpenBSD等),通常在/etc目录下有几个文件在引导时初始化服务,这些文件通常有以“rc”开头的名字,且它有可能由一个名为“rclocal”的文件(或类似的东西),特意用于启动本地安装的服务。在这样的系统上,你可能将类似于下列的行加入rclocal文件中以启动服务器(如果safe_mysqld的目录在你的系统上不同,修改它即可):

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

/usr/local/bin/safe_mysqld &

fi

对于对于System V风格的系统,你可以通过将mysqlserver放在/etc下适当的启动目录下来安装它。如果你运行Linux并从一个RPM文件安装MySQL,这些已经为你做好了,否则将脚本安装在主启动目录下,并将指向它的连接放在适当的运行级别目录下。你也可以使脚本只能由root启动。

启动文件的目录布局各系统不同,所以你需要检查一下看看你的系统如何组织它们。例如在Linux PPC上,目录是/etc/rcd和/etc/rcd/rc3d,这样你可以这样安装脚本:

#cp mysqlserver /etc/rcd/initd

#cd /etc/initd

#chmod 500 mysqlserver

#cd /etc/rcd/rc3d

#ln -s /initd/mysqlserver S99mysql

在solaris上,主脚本目录是/etc/initd,并且运行级别目录是/etc/rd2d,所以命令看上去像这样:

#cp mysqlserver /etc/rcd/initd

#cd /etc/initd

#chmod 500 mysqlserver

#cd /etc/rc2d

#ln -s /initd/mysqlserver S99mysql

在系统启动时,S99mysql脚本将自动用一个start参数调用。如果你有chkconfig命令(Linux上有),你可以由它帮助安装mysqlserver脚本而不是象上面那样手工运行上述命令。

指定启动选项

如果你想在服务器启动时指定额外的启动选项,你可有两种方法。你可以修改你使用的启动脚本(safe_mysqld或mysqlserver)并直接在调用服务器的行上指定选项,或在一个选项文件中指定选项。建议你如果可能在一个全局选项文件中指定选项,它通常位于/etc/mycnf(Unix)或c:mycnf(Windows)。

某些种类的信息无法以服务器选项指定。对于这些你可能需要修改safe_mysqld。例如,如果你的服务器不能正确选择本地时区而以GMT返回时间值,你可以设置TZ环境变量给它一个指示。如果你用safe_mysqld或mysqlserver启动服务器,你可以将一个时区设置加到safe_mysqld。找到启动服务器的行并在该行前加入下列命令:

TZ=US/Central

export TZ

上面命令的语法是Solaris的,对于其他系统语法可能不同,请查阅相关手册。如果你确实修改了你的启动脚本,要记住下次你安装MySQL时(如升级到新版本),你的修改将失去,除非你首先在别处复制了启动脚本。在安装了新版本后,比较新旧版本的脚本,看看你需要重建什么改变。

在启动时检查你的表

除了安排你的服务器在系统引导时启动,你可能要安装myisamchk和isamchk脚本,以在服务器启动前检查你的表。你可能在一个崩溃后重启,有可能表已经损害,在启动前检查它是一个发现问题的好方法。

1导出整个数据库

mysqldump-u用户名-p–default-character-set=latin1数据库名》导出的文件名(数据库默认编码是latin1)23mysqldump-uwcnc-psmgp_apps_wcnc》wcncsql

2导出一个表

mysqldump-u用户名-p数据库名表名》导出的文件名23mysqldump-uwcnc-psmgp_apps_wcncusers》wcnc_userssql

3导出一个数据库结构

mysqldump-uwcnc-p-d–add-drop-tablesmgp_apps_wcnc》d:wcnc_dbsql23-d没有数据–add-drop-table在每个create语句之前增加一个droptable

4导入数据库

A:常用source命令23进入mysql数据库控制台,45如mysql-uroot-p67mysql》use数据库89然后使用source命令,后面参数为脚本文件(如这里用到的sql)1011mysql》sourcewcnc_dbsql1213B:使用mysqldump命令1415mysqldump-uusername-pdbname《filenamesql1617C:使用mysql命令1819mysql-uusername-p-Ddbname《filenamesql启动与退出

1、进入MySQL:启动MySQLCommandLineClient(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql》

2、退出MySQL:quit或exit

5创建数据库

命令:createdatabase《数据库名》

例如:建立一个名为xhkdb的数据库

mysql》createdatabasexhkdb;

6显示所有的数据库

命令:showdatabases(注意:最后有个s)

mysql》showdatabases;

7删除数据库

命令:dropdatabase《数据库名》

8连接数据库

命令:use《数据库名》

例如:如果xhkdb数据库存在,尝试存取它:

9查看当前使用的数据库

mysql》selectdatabase();

10当前数据库包含的表信息:

mysql》showtables;(注意:最后有个s)

1、在MySQL数据库安装时选择过MySQL服务器随系统启动,但如果没有选择,也没关系,可以在可以在Windows服务管理器启动,具体在开始菜单搜索servicesmsc,

2、单击出现如下图窗口,下滑鼠标找到MySQL57:

3、右击后点击启动,MySQL57旁边状态列显示“已启动”字样,说明启动成功。如下图:

二、登录MySQL数据库

4、用系统命令行工具登录,点击开始菜单,找到附件,点击命令提示符。

5、在命令行中输入cd加空格然后粘贴bin路径:cdc:\ProgramFiles(x86)\MySQL\MySQLServer57\bin回车命令行定位到c:\ProgramFiles(x86)\MySQL\MySQLServer57\bin>,在后面输入mysql_hlocalhost_uroot_p(这些都是安装时设置好的)敲回车,

6、出现Enterpassword:在后面输入安装时设置的登录密码,按回车后出现WelcometotheMySQLmonitor说明登陆成功。如下图:

7、用安装时配置好的命令行工具登录,在开始菜单,点击MySQL57CommandLineClient或下面搜索程序框中输入comm选择MySQL57CommandLineClient启动DOS命令窗口。如下图:

8、在窗口Enterpassword:处输入安装时设置的MySQL数据库客户端登陆密码,回车,如果出现WelcomtotheMySQLmonitor等字眼表示登陆服务器成功,可以在闪烁光标处输入SQL可执行语言:如下图:

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 教你如何启动和停止Mysql服务之一

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情