十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
当MySQL实例启动时,会将自己的进程ID写入一个文件中——该文件即为pid文件。该文件可由参数pid_file控制,默认位于数据库目录下,文件名为主机名.pid:
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站制作、网站建设、遂宁网络推广、小程序制作、遂宁网络营销、遂宁企业策划、遂宁品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供遂宁建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
mysql show variables like 'pid_file'\G;
编辑的时候有没有什么错误提示,看样子是mysql没启动成功,mysqld.sock只有在启动成功的时候才会有。 mysqld.sock在安装时你指定的是(-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \)/tmp 启动时错误怎么(socket '/var/run/mysqld/mysqld.sock' (2)。
建立运行账户了吗?
这是我自己用的 RH系列一直没有问题 你对比下然后试试
#groupadd mysql
#useradd –g mysql mysql
#tar zxvf mysql*.tar.gz
#cd mysql*/
# ./configure \
--prefix=/usr/local/mysql --with-charset=utf8 \
--with-collation=utf8_general_ci \
--with-extra-charsets=all \
--with-mysqld-ldflags=-all-static
make
make install
#cp support-files/my-medium.cnf /etc/my.cnf //拷贝my-medium.cnf文件
#cd /usr/local/mysql //进入mysql目录
#bin/mysql_install_db --user=mysql /需要重启服务
#chown -R root . .//将文件的所有属性改为root用户
#chown -R mysql /usr/local/mysql/var //将数据目录的所有属性改为mysql用户
#chgrp -R mysql .//将组属性改为mysql组
#bin/mysqld_safe --user=mysql //启动mysql
pid文件的作用
1.pid文件的内容
用cat命令查看,可以看到内容只有一行,记录了该进程的ID
2.pid文件的作用
防止启动多个进程副本
3.pid文件的原理
进程运行后会给.pid文件加一个文件锁,只有获得pid文件(固定路径固定文件名)写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中。其它同一个程序的多余进程则自动退出。
mysql的pid文件
mysql pid文件记录的是当前mysqld进程的pid. 《linux 就该这么学》
通过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文件。
MySQL pid 文件记录的是当前 mysqld 进程的 pid,pid 亦即 Process ID。
未指定 pid 文件时,pid 文件默认名为 主机名.pid,存放的路径在默认 MySQL 的数据目录。通过 mysqld_safe 启动 MySQL 时,mysqld_safe 会检查 pid 文件,如果 pid 文件不存在,不做处理;如果文件存在,且 pid 已占用则报错 "A mysqld process already exists",如果文件存在,但 pid 未占用,则删除 pid 文件。
查看 MySQL 的源码可以知道,mysqld 启动后会通过 create_pid_file 函数新建 pid 文件,通过 getpid() 获取当前进程 pid 并将 pid 写入 pid 文件。
因此,通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。