未指定 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 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。
1、修改相关目录的权限,配置文件中datadir和basedir,以及log的位置等,必须是mysql有写入的权限。2、不要使用service mysql start来启动数据库了,因为你的系统之前可能已经安装了mysql,这个service是之前的那个mysql的。因此,可以使用mysqld_safe &来启动。看看情况,能不能启动
2、上面的步骤之后还是没法启动,那么再次删除mysql,保证删除
(1)、/etc/init.d/下面的mysql服务
(2)、清除mysql之前使用的数据文件目录内容
mysqlpid文件路径
文件位置
当MySQL实例启动时,会将自己的进程ID写入一个文件中——该文件即为pid文件。该文件可由参数pid_file控制,默认位于数据库目录下,文件名为主机名.pid:
mysql>
show
variables
like
'pid_file'\G
***************************
1.
row
***************************
Variable_name:
pid_file
Value:
/usr/local/mysql/data/xen-server.pid
1
row
in
set
(0.00
sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)