【发布时间】:2018-05-03 11:55:24
【问题描述】:
我有一个在旧服务器上运行的 Sonarqube 6.5(使用 MySQL)实例。我想升级这个实例,同时移动到一个带有 PostgreSQL 的新服务器。
根据升级文档,我必须先升级到 6.7.3 (LTS) 版本,然后才能升级到 7.1(目前最新)。我的挑战是数据迁移。
我已经使用 docker 在我的本地机器上设置了一个 sonarqube 6.5 实例。我的计划是升级本地实例中的版本,然后迁移到新服务器。我也在这里使用 MySQL。因此,设置几乎与生产相同。我从生产服务器获取了一个 mysqldump,并通过运行mysql -u sonar -p < dump.sql 将数据导入到我的本地 MySql 实例中。
在我的本地环境中重新启动 sonarqube 后,我看不到我的任何项目及其数据。数据库似乎有新数据,因为在导入 mysqldump 后更改了默认管理员密码。还注意到,如果我以管理员身份登录,然后浏览到“管理 -> 项目 -> 管理”,我会看到那里列出的所有项目。我也可以浏览代码,但即使仪表板显示错误数量、覆盖率等,仍然看不到任何问题。
我尝试将 sonarqube 数据目录从生产服务器复制到我的本地实例,然后重新启动 sonarqube,但这似乎没有任何区别。
请指教。非常感谢。
【问题讨论】:
-
经过大量试验和错误,我能够让它工作。我认为我的问题是 mysql 版本不匹配。来自 prod 服务器的 mysqldump 正在运行 mysql 版本 5.7.20,而在我的本地环境中,我使用的是最新版本的 mysql。使用相同版本后,我能够让它工作并通过升级路径(6.5 - > 6.7.3 -> 7.1)。升级到 7.1 后,我正在使用另一个 mysqldump 进行备份,但我注意到这次转储文件的大小要小得多。 6.5 版的 mysqldump 大约为 2GB,而升级到 7.1 后大约为 600MB。这是预期的吗?
-
有没有可能是升级到7.1后mysqldump的大小变小了,因为我还没有运行es index?
-
升级到7.1版本后,我使用pgloader将数据库从mysql加载到postgresql 10.3。现在我设置了连接到这个 postgresql 数据库的 Sonarqube 7.1。我有原来的问题。如果我以管理员身份登录并浏览到
Administration -> Projects -> Management,我可以看到所有项目。但是,否则我看不到任何项目或它们的问题。 -
关于项目/问题未显示的问题,在此线程中找到了修复。基本上只需要删除 sonarqube-data/es5 目录,让 sonarqube 重新生成即可。 stackoverflow.com/questions/44408205/…
标签: mysql postgresql upgrade sonarqube-ops