mysql pid文件是什么用途

发布网友 发布时间:2022-04-27 03:00

我来回答

3个回答

热心网友 时间:2022-04-09 11:04

MySQL pid 文件记录的是当前 mysqld 进程的 pid,pid 亦即 Process ID。

可以通过如下的例子查看:

$ /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
$ ll /data/mysql/centos.pid
-rw-rw---- 1 mysql mysql 5 Apr  8 09:16 /data/mysql/centos.pid
$ cat /data/mysql/centos.pid
1598
$ ps -ef | grep mysql | grep -v grep
root      1476     1  0 09:16 pts/0    00:00:00 /bin/sh \
/usr/local/mysql/bin/mysqld_safe \
--datadir=/data/mysql \
--pid-file=/data/mysql/centos.pid
mysql     1598  1476  0 09:16 pts/0    00:00:00 /usr/local/mysql/bin/mysqld \
--basedir=/usr/local/mysql \
--datadir=/data/mysql --user=mysql \
--log-error=/data/mysql/centos.err \
--pid-file=/data/mysql/centos.pid \
--socket=/tmp/mysql.sock \
--port=3306

1、未指定 pid 文件时,pid 文件默认名为 主机名.pid,存放的路径在默认 MySQL 的数据目录。通过 mysqld_safe 启动 MySQL 时,mysqld_safe 会检查 pid 文件,如果 pid 文件不存在,不做处理;如果文件存在,且 pid 已占用则报错 "A mysqld process already exists",如果文件存在,但 pid 未占用,则删除 pid 文件。
2、查看 MySQL 的源码可以知道,mysqld 启动后会通过 create_pid_file 函数新建 pid 文件,通过 getpid() 获取当前进程 pid 并将 pid 写入 pid 文件。
3、因此,通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。

热心网友 时间:2022-04-09 12:22

问题描述:[root@bogonmysql-5.1.41]#/etc/rc.d/init.d/mysqldstartStartingMySQL.Managerofpid-filequitwithoutupdatingfile.[失败]---------------------------解决法:配置的时候有一个步骤是cpsupport-files/my-medium.cnf/etc/my.cnf;就编辑my.cnf,在[mysqld]下面加上:datadir=/usr/local/mysql/data例如#TheMySQLserver[mysqld]port=3306socket=/tmp/mysql.sockskip-lockingkey_buffer_size=16Mmax_allowed_packet=1Mtable_open_cache=sort_buffer_size=512Knet_buffer_length=8Kread_buffer_s2.首先到/usr/local/mysql/data先chown-Rmysql:mysql*然后杀掉mysql进程,在启动musql就行了打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试3.4.确实一般都是my.cnf配置文件的问题/etc/my.cnf来自以下文件:如果你的内存≤M,则复制/usr/local/share/mysql/my-small.cnf为/etc/my.cnf#Thisisforasystemwithlittlememory(<=M)whereMySQLisonlyused#fromtimetotimeandit'simportantthatthemysqlddaemon#doesn'tusemuchresources.如果内存是128M,则复制/usr/local/share/mysql/my-medium.cnf为/etc/my.cnf#Thisisforasystemwithlittlememory(32M-M)whereMySQLplays#animportantpart,orsystemsupto128MwhereMySQLisusedtogetherwith#otherprograms(suchasawebserver)如果内存是512M,则复制/usr/local/share/mysql/my-large.cnf为/etc/my.cnf#Thisisforalargesystemwithmemory=512Mwherethesystemrunsmainly#MySQL.如果内存是1-2G,则复制/usr/local/share/mysql/my-huge.cnf为/etc/my.cnf#Thisisforalargesystemwithmemoryof1G-2Gwherethesystemrunsmainly#MySQL.

热心网友 时间:2022-04-09 13:57

MySQL pid 文件记录的是
当前 mysqld 进程的 pid,pid 亦即 Process ID。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com