MySQL - 无法启用二进制日志记录

MySQL - 无法启用二进制日志记录

我正在尝试启用二进制日志记录,以便可以在两台服务器之间设置主从复制。我正在使用一台拥有大量数据的现有服务器,并尝试使用以下命令转储数据:

mysqldump -u root -p --all-databases --master-data > masterdump.sql

但我收到错误:mysqldump: Error: Binlogging on server not active

我按照各种教程操作,了解如何启用二进制日志记录,但都不起作用。我已确保已将以下参数添加到 my.cnf:

server-id    = 1
log_bin      = /var/log/mysql/mysql-bin.log
sync_binlog  = 1

当我重新启动 MySQL 时,需要一段时间(我猜是因为数据库太大了),大约 60 秒,但最终还是启动了。然而,当我检查时/var/log/mysql/error.log,我发现以下错误(重复了数百次):

InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process

因此我通过运行查找所有 mysqld 进程pstree,发现了以下内容:

root@my_server:~# pstree
init---some stuff
     |--
     |--mysqld---10*[{mysqld}]
     |--
     |--sudo---mysqld---23*[{mysqld}]

mysqld这就是我被困的地方。我不知道同时运行AND是否正常sudo mysqld。服务器由服务器导航,我认为它帮我安装了 MySQL。

这些证据是否能指出二进制日志无法启用的原因?

答案1

看起来多个 mysqld 进程导致了问题。感谢以下人士的提示这个问题我能够关闭下面的进程树sudo mysqld,然后二进制日志记录立即开始。之后,主从复制的其余部分很快就能正常工作,这要归功于这个很棒的教程

相关内容