这个网站是由捐款支持的OEIS基金会.

OEIS日志

来自OeisWiki
跳转到:航行,搜索

OEIS日志

  • 此文件的目的是提供一个管理员可以记录对系统的更改和修复的位置。
  • 除非您是管理员,请不要触摸此页。


2018年7月23日:mediawiki无法与mysql服务器对话

  • 报告了以下错误:OEIS中的用户链接已断开。例如,Jeffrey Shallit在A317177飞机而不是指向他的用户页面的链接。
  • 还报告了其他错误。例如,有几个人报告收到错误消息“身份验证时发生意外错误”
  • 大卫·阿普尔盖特说:

我看了一下。

顶级问题是mediawiki无法与mysql服务器通信。这会破坏wiki,也会破坏登录到主OEIS。

原因可能是mysql数据库损坏,或者是版本不匹配。mysql昨晚9点左右崩溃,在重启过程中抛出了一些错误(来自/var/log/mysql/error.log.1):

2018-07-23 21:57:11 139686236439104[ERROR]mysql.db列数错误。预期22个,找到20个。表可能已损坏 2018-07-23 21:57:11 139686236439104[ERROR]mysql.user在位置29没有“Event_priv”列 2018-07-23 21:57:11 139686236439104[ERROR]mysqld:Event Scheduler:初始化系统表时出错。正在禁用事件计划程序。

来自先前的消息: 2018-07-23 21:57:11 139686236439104[注]InnoDB:Percona XtraDB(http://www.percona.com)5.6.36-82.1已启动;日志序列号42434347594 它似乎正在运行Percona XtraDB。我不知道这是不是有意的,也不知道mysql版本是否在服务器启动后升级,数据库从未迁移。

其他一些注意事项:在syslog中,我注意到一些我们可能需要解决的错误:

mailgun sendmail(通过cron)出错,抱怨“提供了标志但未定义:-o” 来自oeisdb的警告:“服务器在安全身份验证模式下运行,但wikiuser@localhost有一个旧格式的密码…”

从/var/log/messages可以看出,mysql重启是因为系统内存不足“mysqld调用了oom killer”。这可能是因为大量的php-cgi进程。

在Google上闲逛,我们可能需要运行mysql_upgrade来适应MariaDB的升级。但在做这件事之前最好和罗斯商量一下。

我将尝试执行以下序列:

服务mysqld停止 cp-rp/var/mysql/var/mysql.backup.20180724 mysql service mysqld start

尝试升级mysql数据库。

注意: 运行“mysql_upgrade”需要mysqld在运行,所以先重新启动mysqld。 然后出现错误

david@oeis4:~$sudo mysql_upgrade 版本检查失败。调用“mysql”命令行客户端时遇到以下错误 错误1275(HY000):服务器正在--secure auth模式下运行,但“root”@“localhost”的密码为旧格式;请将密码更改为新格式 致命错误:升级失败

通过“sudo service mysqld stop”停止mysqld。 通过“sudo mysqld--skip grant tables”重新启动mysqld,但没有进行身份验证 更多的进度,但失败了,可能是因为特权文件没有加载,它想升级它们。

将mysql root@localhost密码重置为*******************************

运行“sudo mysql_upgrade-u root-p”并给它密码。这似乎奏效了

停止并重新启动mysqld(sudo service mysqld stop;sudo service mysqld start)

检查/var/log/mysql/error.log是否不再抱怨表大小。

可疑问题是格式为 ERROR 1275(HY000)的消息:服务器正在--secure auth模式下运行,但“wikiuser”@“localhost”的密码为旧格式;请将密码更改为新格式

验证了我无法使用用户wikiuser登录mysql(有相同的错误)。

使用重置wikiuser密码

更新mysql.user set Password=Password('…'),其中user='wikiuser';

现在起作用了

以上是一封较长的电子邮件,详细说明了这些步骤。但是缩写是 1。我不知道mysql root@localhost的密码,所以重置它(值包含在以前的电子邮件中,但您可能需要重新设置为电子邮件中没有的值)。运行mysql升级来升级一些表以反映新版本。将mysql wikiuser@localhost密码重置为secure_auth表单(即使用password('password')),但不更改实际密码(使用LocalSetttings_pw.php中的密码)。 4。重启mysql服务器。

在此过程中,我在/var/lib/mysql.backup.20180724中复制了/var/lib/mysql。一旦你确认一切正常,就可以删除它。

这似乎解决了问题。