mysql服务启动后,过几分钟自己停止(win8.1安装mysql)

linux 下MySQL服务器的启动与停止
一、以非特权用户运行MySQL服务器
在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器。服务器可以手动或自动启动。如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行;
一、以非特权用户运行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 3.22中引入,如果你有老版本,你可以使用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 &
对于对于System V风格的,你可以通过将mysql.server放在/etc下适当的启动目录下来它。如果你运行Linux并从一个RPM文件MySQL,这些已经为你做好了,否则将脚本在主启动目录下,并将指向它的连接放在适当的运行级别目录下。你也可以使脚本只能由root启动。
启动文件的目录布局各不同,所以你需要检查一下看看你的如何组织它们。例如在Linux PPC上,目录是/etc/rc.d和/etc/rc.d/rc3.d,这样你可以这样脚本:
#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc.d/rc3.d
#ln -s ../init.d/mysql.server S99mysql
在solaris上,主脚本目录是/etc/init.d,并且运行级别目录是/etc/rd2.d,所以命令看上去像这样:
#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc2.d
#ln -s ../init.d/mysql.server S99mysql
在启动时,S99mysql脚本将自动用一个start参数调用。如果你有chkconfig命令(Linux上有),你可以由它帮助mysql.server脚本而不是象上面那样手工运行上述命令。
2.1 指定启动选项
如果你想在器启动时指定额外的启动选项,你可有两种。你可以修改你使用的启动脚本(safe_mysqld或mysql.server)并直接在调用器的行上指定选项,或在一个选项文件中指定选项。建议你如果可能在一个全局选项文件中指定选项,它通常位于/f(Unix)或c:\my.cnf(Windows)。
某些种类的信息无法以器选项指定。对于这些你可能需要修改safe_mysqld。例如,如果你的器不能正确选择本地时区而以GMT返回时间值,你可以TZ环境变量给它一个指示。如果你用safe_mysqld或mysql.server启动器,你可以将一个时区加到safe_mysqld。找到启动器的行并在该行前加入下列命令:
TZ=US/Central
上面命令的语法是Solaris的,对于其他语法可能不同,请查阅相关手册。如果你确实修改了你的启动脚本,要记住下次你MySQL时(如升级到新版本),你的修改将失去,除非你首先在别处复制了启动脚本。在了新版本后,比较新旧版本的脚本,看看你需要重建什么改变。
2.2 在启动时检查你的表
除了安排你的器在引导时启动,你可能要myisamchk和isamchk脚本,以在器启动前检查你的表。你可能在一个崩溃后重启,有可能表已经损害,在启动前检查它是一个发现问题的好。
三、停止器
要手工启动器,使用mysqladmin:
%mysqladmin shutdown
要自动停止器,你不需做特别的事情。BSD系统一般通过向进程发一个TERM信号停止,它们或者正确应答它或被粗鲁地杀死。mysqld在它收到这个信号时以终止作为应答。对于用mysql.server启动器的System V风格的,停止进程将用一个stop参数调用该脚本,告诉器终止,当然假定你已了mysql.server。
四、如果你不能连接器,如何重新获得对器的控制
在某些情况下,你可能由于不能连接它而手工重启器。当然,这有点矛盾。因为一般你通过连接器而手工关掉它,那么这种情况如何会出现。
首先,MySQL root口令可以已经为你不知道的值,这可能发生在你修改口令时,例如,如果你在输入新口令时偶然键入一个不可见的控制字符。你也可能忘记口令。
其次,连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的运行一个cron任务删除了/tmp下的临时文件。
如果你因为丢失套接字文件而不能连接,你可以简单地通过重启器重新创建得到它。因为器在启动时重新创建它。这里的骗局是你不能用套接字建立连接因为它不见了,你必须建立一个TCP/IP连接,例如,如果器主机是pit.snake.net,你可以这样连接:
%mysqladmin -p -u root -h pit.snake.net shutdown
如果套接字文件被一个cron任务删除,问题将重复出现,除非你修改cron任务或使用一个或使用一个不同的套接字文件,你可以使用全局选项文件指定一个不同的套接字,例如,如果数据目录是/usr/local/var,你可以通过将下列行加入/f中,将套接字文件移到那里:
socket=/usr/local/var/mysql.sock
socket=/usr/local/var/mysql.sock
对器和客户均指定路径名,使得它们都使用同一个套接字文件。如果你只为器路径,客户程序将仍然期望在原位置执行套接字,在修改后重启器,使它在新位置创建套接字。
如果你由于忘记root口令或已经将它为不同于认为的值而不能连接,你需要重新获得对器的控制,是你能再次口令:
如果你以root登录器主机,你可以用kill命令终止器。你可以使用ps命令或通过寻找器的PID文件(通常在数据目录中)找出器进程的ID。
最好是首先尝试用一个向器发出一个TERM信号的正常kill看它是否将以正常终止应答。这种方式下,表和日志将正确地被清空。如果器阻塞并且不应答一个正常终止信号,你可以用kill -9强制终止它。这是最后的手段了,因为这可能有未清空的修改,而且你冒着让表处于一个不一致状态的风险。
如果你用kill -9终止器,要确保在启动器前用myisamchk和isamchk检查你的表。
用--skip-grant-table选项重启器。
这告诉器不使用授权表验证连接,这允许你以root连接而无须口令。在你已经连接后,改变root口令。
用mysqladmin flush-privileges告诉器再次使用授权表启动
如果你的mysqladmin版本不认识flash-privileges,试一试reload。
五、运行多个器
大多数再一台给定的机器上运行单个MySQL服务器,但在很多情况下,运行多个器是很有用的:
你可能想测试一个器的新版本,而保留你正在运行的生产器。在这种情况下,你会运行不同的器代码。
一般限制每个进程的打开文件句柄数量。如果你的很难提高这个限制,运行多个器是限制的一种。在这种情况下,你可能运行统一器的多个实例。
ISP经常为其客户提供自己的MySQL安装,有必要涉及单独的器。在这种情况下,你可能运行同一版本的多个实例或不同版本,如果不同的客户想要不同版本的MySQL。
很自然地,运行多个器比只运行一个器要复杂得多。如果你多个版本,你不能在同一个地方所有东西。当器运行时,某些参数必须或很可能对每个器是唯一的,它们包括器在哪、其数据目录的路径名、TCP/IP端口和UNIX域套接字路径名以及用于运行器的UNIX账号(如果你不再同一账号下运行所有器)。如果你决定运行多个器,一定要注意你使用的参数,是你不至于丢失对所发生的事情的踪迹。
5.1 配置和多个器
如果你要运行不同版本的器而不是同一版本的多个实例,你必须在不同地点它们。如果你二进制分发(不用RPM),它们将在包含不同版本号的目录名下。如果你从源代码,最简单的是在每个版本运行configure配置MySQL安装过程中使用--with-prefix选项使得不同分发分开,这将使得所有东西在一个单独的目录下,你可以将目录域分发版本号联系起来,如,你可以象这样配置一个MySQL分发,其中version是MySQL版本号:
%.configure --with-prefix=/usr/local/mysql-version
--with-prefix选项也决定了器的一个唯一数据目录。你可能想加上其它器特定的选项,如TCP/IP端口号和套接字路径名(--with-tcp-port和--with-unix-socket)。
如果你想运行同一版本器的多个实例,任何必须基于一个器特定的选项将需要在运行时指定。
5.2 多器的启动过程
启动多个器比使用一个器要复杂。因为safe_mysqld和mysql.server均在单个器上工作得最好。建议你仔细研究一下safe_mysqld并用它作为你的启动过程的基础,使用你修改的版本,你能针对你自己的需要更精确地裁剪它。
你必须处理的一个问题是如何在选项文件(my.cnf)中指定选项。对于多器,你不能对于每个不同的器使用/f,你只能对所有器相同的使用该文件。如果器有一个不同的编译进去的数据目录位置,你可以在每个器数据目录中的my.cnf中指定所有器要使用的,而使用f指定器特定的,这里DATADIR以器不同而不同。
另一种指定器选项的是用--default-file=path_name作为命令行的第一个选项,告诉器从名为path_name中的文件中读取选项,这样你可以把一个器选项放在一个对该器唯一的文件中,然后告诉器在启动时读取该文件。注意,如果你指定这个选项,将不使用通常的选项文件如/f的任何一个。启动Mysql服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
停止Mysql服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
重启Mysql服务
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:220062次
积分:3207
积分:3207
排名:第4070名
原创:90篇
转载:100篇
评论:20条
本博客乃一小站,收集自己看到的一些文章,做个记录与备忘录,方便以后参考(若本博内容侵犯了您的合法权益时或者对转载内容有疑义的内容原作者,请以邮件的形式进行联系博主,也可在本博客给我留言。email:)
国内网址:
国外网址:
(1)(1)(1)(2)(10)(1)(7)(8)(5)(2)(19)(12)(1)(18)(11)(24)(9)(2)(1)(21)(25)(7)(2)当前位置: >
启动和停止MySQL服务器的命令操作
&&& MySQL是一个小型关系型管理系统,开发者为瑞典MySQL AB公司。在号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站。
&&& 与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
  目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web,MySQL作为数据库,PHP作为端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。
&&& 可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。
  phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web介面管理MySQL资料库。
  phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。
  另外,还有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。
一、以非特权用户运行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 3.22中引入,如果你有老版本,你可以使用su命令告诉系统在以root运行时在特定的用户下运行服务器。
启动和停止MySQL服务器的命令操作的相关阅读:
本站文章《》除注明转载外,均为本站原创或编译
转载请注明:本文由()提供欢迎免费转载,转载时请保留该信息,谢谢合作!
------分隔线----------------------------
启动和停止MySQL服务器的命令操作的网友评论cpu是64位的,现在我安装的是32位的win8,每次开机,就会系统没反应几分钟,然后自己好了,怎么回事?_百度知道
cpu是64位的,现在我安装的是32位的win8,每次开机,就会系统没反应几分钟,然后自己好了,怎么回事?
是不是应该安装64位的win8?
??。再过十几分钟就自己好了情况应该是这样??:开机玩几分钟后?,系统就响应缓慢。????。不知道为什么
提问者采纳
也就是说64位可以安装32位系统也可以安装64位系统,或安装到非系统盘中,但32位只能安装32位系统,开机慢可能是开机启动项比较多,建议安装软件时尽量不要设成开机启动,在后台会进行启动所以耽误了一些时间你好,应该不是这个问题,windows系统是向下兼容的
其他类似问题
按默认排序
其他3条回答
预览版也不可能尽善尽美,有些用不到的可以再开机启动项中禁掉,那几分钟的反应时间应该是电脑正在打开运行程序或系统软件现在win7正式版还没出来
主板在判断主机俩有哪些硬件
这很正常硬件在自我检测
安装64位的Windows8试试,毕竟64位的CPU也应该安装64位的系统。
开机的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 win8 安装mysql 的文章

 

随机推荐