我在Percona Cluster的一个节点中重新启动了MySQL服务器。由于重启花了很多时间,我打断了这个过程。我尝试重新启动MySQL服务器。我收到以下错误:
datadir中的陈旧sst_in_progress文件
我按照这个链接,https://www.percona.com/forums/questions-discussions/percona-xtradb-cluster/46846-sql-cluster-issue-need-help-please,并删除了它中提到的sst_in_progress文件。
现在,当我尝试重新启动MySQL服务器时,我得到了这个:
● mysql.service - LSB: Start and stop the mysql (Percona XtraDB Cluster) daemon
Loaded: loaded (/etc/init.d/mysql; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2018-03-14 11:04:07 IST; 16min ago
Docs: man:systemd-sysv-generator(8)
Process: 23568 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)
Mar 14 11:04:00 systemd[1]: Starting LSB: Start and stop the mysql (Percona XtraDB Cluster) daemon...
Mar 14 11:04:00 mysql[23568]: * Starting MySQL (Percona XtraDB Cluster) database server mysqld
Mar 14 11:04:00 /etc/init.d/mysql[23614]: MySQL PID not found, pid_file detected/guessed: /var/run/mysqld/mysqld.pid
Mar 14 11:04:07 mysql[23568]: * The server quit without updating PID file (/var/run/mysqld/mysqld.pid).
Mar 14 11:04:07 mysql[23568]: ...fail!
Mar 14 11:04:07 systemd[1]: mysql.service: Control process exited, code=exited status=1
Mar 14 11:04:07 systemd[1]: Failed to start LSB: Start and stop the mysql (Percona XtraDB Cluster) daemon.
Mar 14 11:04:07 systemd[1]: mysql.service: Unit entered failed state.
Mar 14 11:04:07 systemd[1]: mysql.service: Failed with result 'exit-code'.
还有一件事是在重启期间没有日志写入mysql-error.log文件,因为我无法继续调试。
这里的最佳解决方案是,无需查看更多信息,只需简单地使用rm -rf $datadir
并启动节点备份。确实是SST,取决于数据集,需要一段时间。通过gigE估算每100GB数据1小时。
如果joiner节点花费太多时间以便你可以将gcache.size增加到1 GB然后重新启动joiner节点,那么如果数据已经存在于新节点上,那么它将选择IST而不是SST。
在my.cnf中设置
wsrep_provider_options = “gcache.size = 1G”