相信有小伙伴在使用MySQL的过程当中,会遇到一些不明缘由的问题,通过不断努力排查以后,仍是没法确认这是一个什么状况,这时你可能须要查看一下这个现象是否是MySQL的Bug了。MySQL的Bug怎样查看?怎样提交Bug报告?我可否贡献解决这个Bug的代码?在这篇文章里,我将为你一一解答。mysql
MySQL官方提供了一个Bug网站,网址:https://bugs.mysql.com/ 经过这个网站,你能够查找Bug,报告Bug,贡献代码。sql
当你想检索遇到的问题是否有人报告为Bug时,能够在右侧输入相关的关键字进行检索。这个系统还支持高级检索,能够按照关键字、分类、状态等条件进行检索,具体的项目能够参照下图:安全
检索结果画面以下(检索“group replication”关键字):ide
这时,你就能够查看是否有和你的现象相同或者相似的结果了,点击条目能够看到细节。网站
对于常常阅读MySQL文档的小伙伴来讲,常常会看到文档里面提到了某些Bug#,例如:“New FPROFILE_GENERATE and FPROFILE_USE CMake options are available for experimenting with profile guided optimization (PGO) with GCC. See the cmake/fprofile.cmake in a MySQL source distribution for information about using them. These options have been tested with GCC 8 and 9, and with Clang.ui
Enabling FPROFILE_USE also enables WITH_LTO (link time optimization). (Bug #30089834, Bug #96314, Bug #30133324, Bug #96410, Bug #30164113, Bug #96486)” 你能够输入这些Bug号码去查看相对应的内容,可是请注意,当你检索相关Bug时,结果可能有三种:3d
一、你没有权限访问这个Bug:这种状况是由于这个Bug涉及安全性相关的问题,这种类型的Bug信息不能公开,防止被人利用。orm
二、Bug不存在,或者保存在Oracle的内部系统:一般号码为8位数是保存在Oracle内部的Bug系统里面,主要是Oracle的工程团队提出的Bug,仅限内部拥有权限的员工使用。blog
三、能够公开的Bug:属于正常能够公开的Bug。经过这些信息,你就能够确认相关的内容。若是你以为这个Bug对你影响很大,但愿可以快速修复,那么请点击右上方的“Affects Me”。透露个秘密,这个按钮的点击量会影响工程团队的修复优先度,但愿优先修复的小伙伴,能够叫上你的小伙伴一块儿点。文档
若是没有发现与你相同的状况,你就能够提出本身的Bug报告了。
报告的表单如上图所示,须要提醒一点,请必定详细描述你的Bug,包括使用的版本,平台,以及再现的步骤。这些信息很是重要,MySQL团队有专人负责确认Bug,若是按照你提供的信息没法再现Bug,须要你补充相关信息并再次提交,这会影响确认的效率。提交以后,系统会自动发送Bug状态的邮件,你就能够第一时间知道相关信息。一般提交以后一天以内就会有确认的结果出来。
贡献Bug代码:当你检索到Bug,或者提出Bug报告以后,若是你有了解决方法,而且可以提供相关代码,MySQL团队是很是但愿你可以贡献相关代码的。这时你能够经过Bug详细信息页面的“Contributions”标签里来贡献你的代码。须要注意的是在提交代码以前须要签署“Oracle Contribution Agreement (OCA)”,通过工程团队的审阅修改以后,代码就能够合并入官方代码,并伴随着MySQL版本的升级而升级。因此若是你有修改的代码,更好的解决方案,欢迎贡献你的代码,贡献的代码除了能够为广大开源爱好者带来福利,也省去了你和你的组织从此对其进行的升级管理维护工做,MySQL的工程团队将会为你的代码提供维护,为你和你的组织节省大量的工程成本。
上面内容是关于MySQL Bug报告的简明介绍。