我在 5.6 上有主服务器,在 5.5 上有从服务器,这将是测试环境,用于检查 5.6 是否可以在 PROD 上在 5.5 上进行复制。
启动 mysql 时出现以下错误
ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/test.lester.com.pid).
作为参考,以下是 /etc/my.cnf 的内容:
# The following options will be passed to all MySQL clients
[client]
port = 3306
socket=/var/lib/mysql/mysql.sock
# The MySQL server
[mysqld]
port = 3306
socket=/var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
bind-address = 0.0.0.0
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
log-bin=mysql-bin
# binary logging format - mixed recommended
binlog_format=mixed
server-id = 2
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
我尝试了很多方法来解决这个错误...但不幸的是没有成功,请帮忙。
答案1
这与复制无关,尽管您可能在添加与复制相关的行时弄乱了配置。特别是您缺少一行pid-file
,请尝试将其添加到以下[mysqld]
部分:
pid-file = /var/run/mysqld/mysqld.pid
这条线目前是该[mysqld_safe]
部分,我不认为它属于那里。
答案2
运行以下命令并确保配置中的 pid 文件与 mysql cnf 文件中 [mysqld] 下的 pid 文件定义匹配,init.d 脚本和配置中很可能存在不匹配的情况。
mysqld --print-defaults | grep pid 文件
答案3
阅读上面关于 pid 文件的帖子,我只想补充一点,有时你需要创建它。你还应该使用 ps 仔细检查 mysql 是否尚未运行。
如果 mysql 正在运行,请将 mysql_safe 的 pid(我认为)添加到您的 pid 文件中。