仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 752|回复: 8
打印 上一主题 下一主题

[学习教程] 绝无经由的MySQL数据库的启动与停止

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:12:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
这种服务也提供了足够的监控功能来跟踪性能和使用情况,在问题发生时将发出通知并生成一定深度的分析报告。因为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,则大概引发“accessDenied”(即,“一切权被回绝”)的毛病。此时能够删除毛病文件在试一次。
因为safe_mysqld剧本的功效,利用safe_mysqld剧本分明比间接启动mysqld保卫程序来得无效。
4、启动服务器的完全历程
关于Unix平台上的分发,假如你以root或在体系引诱时代启动sqfe_mysqld,堕落日记由root具有,这大概在你今后试图用一个非特权用户挪用safe_mysqld时将招致“permissiondenied”(权限回绝)毛病,删除堕落日记再试一下。因而倡议你在启动服务器前,起首切换到一个专门的用户mysql。
详细办法以下:
Unix平台
$sumysql
$safe_mysql&(大概mysqld&,不保举)
Win32平台
C:mysqlin>mysqld--standalone
大概C:mysqlin>mysqld-ntCstandalone
假如你利用mysqld而且没有把mysql安装在尺度的地位,一般必要供应―basedir选项你的数据库的安装地位。
$safe_mysqld--basedir=”/path/to/mysql”&(Unix平台)
c:mysqlin>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.serverstart
$mysql.serverstop
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.servermysql

接着把它的属性改成“x”(executable,可实行)
#chmod+xmysql
最初,运转chkconfig把MySQL增加到你体系的启动服务组内里往。
#/sbin/chkconfig--delmysql
#/sbin/chkconfig--addmysql

你也能够如许做,手工创建链接:
#cd/etc/rc.d/rc3.d(依据你的运转级分歧而分歧,能够是rc5.d)
#lnCs../init.d/mysqlS99mysql

在体系启动时代,S99mysql剧本使用start参数主动启动。
利用mysqladmin有用程序封闭、重启数据库
一样平常保护数据库,常常必要封闭大概从头启动数据库服务器。mysql.serverstop只能用于封闭数据库体系,其实不便利,并且mysql.server剧本用特定用户身份启动服务器,因而利用该教本必要超等用户的权限。比拟之下mysqladmin就便利的多,而且合用于MySQL一切范例、平台的安装。
封闭数据库服务器
mysqladminshutdown
重启数据库服务器
mysqladminreload
取得匡助
mysqladminChelp
mysqladmin有用程序十分有利用代价,细心浏览匡助输入,你会失掉更多的用法。
假如呈现上面的毛病:
mysqladmin:connecttoserveratlocalhostfailed
error:Accessdeniedforuser:root@localhost(UsingpassWord:YES)

暗示你必要一个能够一般毗连的用户,请指定-u-p选项,比方,你如今能够:
shell>mysqladmin-uroot-pshutdown
EnterPassword:***********

输出你修正过的暗码便可。
启动或中断NT平台上的体系服务
下面几节先容了Unix平台上使数据库服务器主动启动的办法,而在windows(NT)平台上为了让MySQL数据库主动启动,你必要将MySQL服务器安装成NT体系的一种服务。
1、将MySQL安装成体系服务
关于NT,服务器名字是mysqld-nt。
C:mysqlin>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服务:
NETSTARTmysql
NETSTOPmysql

注重在这类情形下,你不克不及对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体系,读者请细心分辩。
表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-18 18:43:15 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
小魔女 该用户已被删除
板凳
发表于 2015-1-25 13:29:24 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
小妖女 该用户已被删除
地板
发表于 2015-2-2 22:17:46 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
兰色精灵 该用户已被删除
5#
发表于 2015-2-8 13:32:36 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
再现理想 该用户已被删除
6#
发表于 2015-2-25 17:22:12 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
海妖 该用户已被删除
7#
发表于 2015-3-8 01:25:04 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
透明 该用户已被删除
8#
 楼主| 发表于 2015-3-15 20:26:29 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
变相怪杰 该用户已被删除
9#
发表于 2015-3-22 04:09:34 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表