56,750
社区成员
求教各位大佬,centos7 重装mysql无法启动报错:The server quit without updating PID file (/usr/local/mysql/data/mysql/mysql.pid)
按照网上的方法
mysql的安装目录和数据目录分别进行授权无效
用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死无效
mysql的数据目录/data看无mysql-bin.index文件
关闭防火墙无效
以下为mysql.log日志内容
2023-09-07T05:27:20.414005Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.28) starting as process 9236
2023-09-07T05:27:20.420963Z 0 [ERROR] [MY-010162] [Server] Path '--log-bin' is a directory name, please specify a file name for /usr/local/mysql/data/mysql/ option
2023-09-07T05:27:20.421027Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-09-07T05:27:20.421262Z 0 [System] [MY-010910] [Server] /usr/local/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.28) MySQL Community Server - GPL.
以下为my.cnf文件内容
[client-server]
[mysql]
# 默认字符集
default-character-set=UTF8MB4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
# 安装目录
basedir = /usr/local/mysql
# 数据存放目录
datadir = /usr/local/mysql/data/
log-bin = /usr/local/mysql/data/mysql/
innodb_data_home_dir =/usr/local/mysql/data/
innodb_log_group_home_dir =/usr/local/mysql/data/
#日志及进程数据的存放目录
log-error =/usr/local/mysql/data/mysql/mysql.log
pid-file =/usr/local/mysql/data/mysql/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=UTF8MB4
lower_case_table_names=1
autocommit =1
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
MySQL启动时报错"The server quit without updating PID file"通常是由于MySQL在启动过程中遇到了问题而无法更新PID文件所导致的。这个问题可能有多种原因,以下是一些可能的解决方法:
检查日志文件:
首先,查看MySQL的错误日志文件,通常位于MySQL数据目录下的error.log
文件。您可以使用以下命令查看错误日志:
tail -f /usr/local/mysql/data/mysql/error.log
查看错误日志以获取更多详细信息,以了解问题的根本原因。
检查文件权限:
确保MySQL数据目录及其子目录的权限正确设置。MySQL需要访问并写入数据目录以及PID文件所在的目录。您可以使用以下命令来更改目录权限:
sudo chown -R mysql:mysql /usr/local/mysql/data/
这将把目录的所有权交给MySQL用户和组。
检查MySQL配置文件:
检查MySQL的配置文件(通常是my.cnf
或my.ini
),确保配置文件中的设置正确。特别是,确保PID文件的路径在配置文件中正确设置。在配置文件中查找类似以下的行:
pid-file = /usr/local/mysql/data/mysql/mysql.pid
确保该路径与实际的PID文件路径匹配。
检查端口冲突:
确保MySQL所使用的端口没有被其他程序占用。您可以使用以下命令检查端口占用情况:
sudo netstat -tuln | grep 3306
如果有其他程序占用了MySQL默认的3306端口,您需要将MySQL的端口配置更改为一个可用的端口。
检查系统资源:
确保系统有足够的资源(内存、磁盘空间等)来启动MySQL。如果系统资源不足,MySQL可能无法正常启动。
升级或重新安装MySQL:
如果上述方法都无法解决问题,您可以尝试升级或重新安装MySQL。确保备份数据库数据和配置文件,然后卸载旧版本,重新安装MySQL。