• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 位置: MySQL 8 中文手册 -> MySQL 扩展

    调试和移植MySQL

    本节帮助您将MySQL移植到其他操作系统。请先检查当前支持的操作系统列表。参见 https://www.mysql.com/support/supportedplatforms/database.html。如果您创建了一个新的MySQL端口,请告知我们,以便我们可以在此处和我们的网站(http://www.mysql.com/)上列出它,并推荐给其他用户。

    注意

    如果您创建MySQL的新端口,则可以根据GPL许可自由复制和分发它,但是它并不能使您成为MySQL的版权所有者。

    服务器需要一个有效的POSIX线程库。

    要从源代码构建MySQL,您的系统必须满足“从源代码安装MySQL”中列出的工具要求。

    如果您在使用新端口时遇到问题,则可能必须对MySQL进行一些调试!请参见“调试MySQL服务器”。

    注意

    在开始调试mysqld之前,首先使测试程序mysys/thr_lock正常工作。这样可以确保您的线程安装甚至很少有机会工作!

    注意

    MySQL源代码包含使用Doxygen编写的内部文档。该文档对于从开发人员的角度了解MySQL的工作方式很有用。生成的Doxygen内容可从 https://dev.mysql.com/doc/index-other.html获得。使用“生成MySQL Doxygen文档内容”中的说明,还可以从MySQL源分发本地生成此内容。

    调试MySQL服务器

    如果您使用的是MySQL中非常新的功能,则可以尝试使用选项运行mysqld--skip-new(该功能将禁用所有可能不安全的新功能)。请参见第B.4.3.3节“如果MySQL继续崩溃,该怎么办”。

    如果mysqld不想启动,请确认您没有my.cnf干扰设置的文件!您可以my.cnf使用mysqld --print-defaults检查参数,并通过从mysqld --no-defaults ...开始来避免使用它们。

    如果mysqld开始耗尽CPU或内存或“挂起”,则可以使用mysqladmin进程列表状态来确定某人是否正在执行需要很长时间的查询。如果遇到性能问题或新客户端无法连接时出现的问题,最好在某些窗口中运行mysqladmin -i10进程列表状态

    mysqladmin debug命令将有关正在使用的锁,已用内存和查询用法的某些信息转储到MySQL日志文件中。这可能有助于解决一些问题。即使您尚未编译MySQL进行调试,此命令也提供了一些有用的信息!

    如果问题是一些表变得越来越慢,你应该尝试优化表OPTIMIZE TABLEmyisamchk的。请参阅MySQL服务器管理。您还应该使用来检查慢速查询EXPLAIN

    您还应该阅读本手册中特定于操作系统的部分,以解决您的环境可能特有的问题。请参见“常规安装指南”。