pid文件的作用

pid文件的作用


 

一、pid文件的作用

1.pid文件的内容
用cat命令查看,可以看到内容只有一行,记录了该进程的ID

2.pid文件的作用
防止启动多个进程副本

3.pid文件的原理
进程运行后会给.pid文件加一个文件锁,只有获得pid文件(固定路径固定文件名)写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中。其它同一个程序的多余进程则自动退出。

二、mysql的pid文件

mysql pid文件记录的是当前mysqld进程的pid.

通过Mysqld_safe启动mysql时,mysqld_safe会检查pid文件,未指定PID文件时,pid文件默认名为$DATADIR/`hostname`.pid

      1)pid文件不存在,不做处理

      2)文件存在,且pid已占用则报错"A mysqld process already exists"

         文件存在,,但pid未占用,则删除pid文件

mysqld启动后会通过create_pid_file函数新建pid文件,通过getpid()获取当前进程pid并将PID写入pid文件。 

因此,通过mysqld_safe启动时,PID文件的作用是为了防止同一个数据库被启动多次(数据文件是同一份,但端口不同的情况)。

 

三、mysql中的socket文件的作用

mysql中的socket文件的作用涉及到mysql的连接方式,mysql的客户端连接mysql的服务端有两种方式,一种是TCP/IP方式,一种是socket文件的方式。

(1)TCP/IP 套接字方式

这种方式会在TCP/IP 连接上建立一个基于网络的连接请求,一般是client连接跑在Server上的MySQL实例,2台机器通过一个TCP/IP 网络连接。

C:\Users\gechong>mysql -h 192.168.1.10 -uroot -p
Enter password: *
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.5.20-log MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

这里的客户端是Windows,向IP为192.168.1.10 的服务器上的MySQL实例发起了TCP/IP请求,连接成功后就可以使用MySQL了。

(2)UNIX域套接字
UNIX域套接字并不是网络协议,所以只能在MySQL客户端和数据库实例在一台服务器上使用,用户可以在配置文件中指定套接字文件,在登录mysql的时候可以加上socket。使用socket你无须定义连接host的具体IP地址,只要为空或127.0.0.1就可以。
–socket=/tmp/mysql.sock

mysql> SHOW VARIABLES LIKE ‘socket’;
+—————+—————–+
| Variable_name | Value |
+—————+—————–+
| socket | /tmp/mysql.sock |
+—————+—————–+
1 row in set (0.00 sec)

#mysql -uroot -S/tmp/mysql.sock

 

 

参考资料:

1、https://blog.csdn.net/qq_29113041/article/details/79508244,pid文件的作用

2、https://www.cnblogs.com/justfortaste/p/4119657.html,mysql pid文件的作用

3、https://blog.csdn.net/uphailin/article/details/69382142, mysql pid文件和socket文件的作用

4、https://blog.csdn.net/fruitful_life/article/details/53153972, pid文件的作用的详细解释

 

posted @ 2019-03-14 07:08  zhangzl419  阅读(1258)  评论(0编辑  收藏  举报