一、MySQL文件位置
使用rpm文件安装的MySQL,安装目录是不可修改的,只能使用打包者确定的预定义安装路径。它的安装并非默认安装在某个特定目录下,它的数据库文件、配置文件盒命令文件分别都放在不同的目录下:
1. 数据库目录:/var/lib/mysql/
该目录下保存的是各个用户的数据库文件,以“.frm”为后缀
2. 配置文件:/usr/share/mysql/
该目录保存了mysql.server的命令及配置文件,具体不清楚。。。
3. 相关命令:/usr/bin/
mysql、mysqladmin等命令。该路径被添加到环境变量$PATH,因此可以直接输入命令名来调用该命令
4. 启动脚本:/etc/init.d/
启动脚本文件mysql的目录
二、关于MySQL的启动
在/etc/init.d和/usr/bin这两个目录下都有名为mysql的脚本。
运行前者,需要输入完整的文件路径名 ==> /etc/init.d/mysql start
启动的是MySQL的后台守护进程,在当前进程列表中相应的进程名为mysqld和mysqld_safe
运行后者,在系统的任何目录下,都可以直接输入脚本名 ==> mysql -u root -p
启动的是MySQL的前台交互终端,在当前进程列表中相应的进程名为mysql
启动后者要在前者已经启动的前提下进行,实际上/usr/bin中所有的mysql相关命令都要在mysqld进程运行的前提下才能启动。
三、关于MySQL的后台守护进程
mysqld是实际的后台守护进程,但通常都是通过包装程序mysqld_safe进行交互。在以前的版本中,在/usr/bin目录下有单独的mysqld脚本文件,但是在最新的版本(5.5.19)已经没有了,只有mysqld_safe脚本。
/etc/init.d/目录下的启动脚本mysql是启动了/usr/bin/mysqld_safe脚本(通过查看/etc/init.d/mysql脚本文件内容可知),而mysqld_safe脚本通常做的是:
1. 检查系统和选项
2. 检查MyISAM表
3. 保持MySQL服务器窗口
4. 启动并监视mysqld,如果因错误终止则重启
5. 将mysqld的错误信息发送到数据目录中的host_name.err文件
6. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件
因此,启动MySQL后台程序可以不通过/etc中的启动脚本,而直接运行/usr/bin/目录下的mysqld_safe脚本,该脚本在进行一系列初始化操作后会自动启动mysqld。
启动mysqld_safe:
1. 首先要切换到/usr/bin目录下 ==>cd /usr/bin
2. 运行脚本 ==> ./mysqld_safe &
3. 在终端输入 ps -a|grep -i mysqld
会发现系统进程中就会多出mysqld_safe和mysqld这两个。
其中“&”表示希望守护进程在后台进行。
关于不加"&"的影响:
正常的情况:mysqld_safe会监视mysqld进程,当其终止时会重启该进程。因此当使用kill命令强行关闭mysqld进程时,mysqld_safe进程会自动重新启动mysqld进程。而且使用kill关闭mysqld_safe进程不会影响mysqld进程。
不加“&”的后果:那么使用kill命令强行关闭mysqld进程时,mysqld_safe不会重新启动它,使用ps命令查看当前进程时,会发现mysqld进程仍然在其中,只不过后面多了标识,表示该进程已经死了,此时该死去的进程依附于mysqld_safe进程而存在,杀死mysqld_safe进程,该进程也会消失。
eg. Refer to: http://ask.chinaunix.net/question/744
那说明你的确成功的关掉了mysql服务了,只是它又启动了而已,应该是有守护进程在后台监视着,你正常关闭mysql试一下,比如
service mysqld stop
/etc/init.d/mysql stop
四、配置文件my.cnf
运行mysqld_safe脚本还可以通过指定一些选项的值来修改mysql的配置。这些配置也可以在my.cnf文件中修改。
my.cnf是MySQL的配置文件。启动时,MySQL会在一些目录中查找my.cnf文件,每个目录将确定在其中声明的参数的作用域:
1. /etc/my.cnf -- 全局配置文件。所有位于服务器中的MySQL服务器守护进程将首先引用这个文件(如果有的话)
2. /usr/share/mysql/my.cnf -- 服务器特定的配置
3. --defaults-extra-file=name 这个文件由给出的文件名指定
4. ~/.my.cnf -- 用户特定的配置。
MySQL在启动时会尝试从上述各个位置读取配置文件。如果存在多个配置文件,后面读取的参数将覆盖之前的参数。
初始时,在上述目录下并没有my.cnf文件,而在/usr/share/mysql中有5个预配置的cnf文件。用户应该根据自己的需要从中选取一个,复制到相应目录下并重命名为my.cnf
1. my-huge.cnf 用于高端产品服务器,包含1-2G RAM,主要运行MySQL
2. my-innodb-heavy-4G.ini 用于只有InnoDB的安装,最多有4G RAM,支持大的查询的低流量
3. my-large.cnf 用于中等规模的产品服务器,包含大约512M RAM,主要运行MySQL
4. my-medium.cnf 用于低端产品服务器,包含很少内存(少于128M)
5. my-small.cnf 用于最低装备的服务器,只有一点内存(少于64M)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26477398/viewspace-1441471/
,如需转载,请注明出处,否则将追究法律责任。