本节帮助您将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 TABLE
或myisamchk的。请参阅MySQL服务器管理。您还应该使用来检查慢速查询EXPLAIN
。
您还应该阅读本手册中特定于操作系统的部分,以解决您的环境可能特有的问题。请参见“常规安装指南”。