21.2.1.1 NDB 群集自动安装程序要求

本节提供有关受支持的操作平台和软件,必需的软件以及运行 NDB 群集自动安装程序的其他先决条件的信息。

支持的平台. NDB Cluster Auto-Installer 随大多数 NDB 7.5.2 和更高版本的 NDB Cluster 发行版一起提供,适用于 Linux,Windows,Solaris 和 macOS 的最新版本。有关 NDB 群集和 NDB 群集自动安装程序的平台支持的更多详细信息,请参阅https://www.mysql.com/support/supportedplatforms/cluster.html

NDB 7.5.0 或 7.5.1 不支持 NDB 群集自动安装程序(错误#79853,错误#22502247)。

支持的 Web 浏览器. Firefox 和 Microsoft Internet Explorer 的最新版本支持基于 Web 的安装程序。尽管我们尚未对这些浏览器的兼容性进行全面测试,但它也应可与 Opera,Safari 和 Chrome 的最新版本一起使用。

必需的软件-服务器. 必须在运行自动安装程序的主机上安装以下软件:

  • Python 2.6 或更高版本. 自动安装程序需要 Python 解释器和标准库。如果系统上尚未安装这些组件,则可以使用系统的程序包 Management 器添加它们。否则,可以从http://python.org/download/下载。

  • Paramiko 1.7.7.1 或更高版本. 如果无法从系统的程序包 Management 器中下载该文件,则可以从http://www.lag.net/paramiko/下载。

  • Pycrypto 1.9 或更高版本. Paramiko 需要此加密模块。如果使用系统的软件包 Management 程序不可用,则可以从https://www.dlitz.net/software/pycrypto/下载。

上面列 table 中的所有软件都包含在 Windows 版本的配置工具中,不需要单独安装。

必需的软件-远程主机. 希望在其上部署 NDB 群集节点的远程主机所需的唯一软件是 SSH 服务器,该服务器通常默认安装在 Linux 和 Solaris 系统上。 Windows 有几种替代方法。有关这些内容的概述,请参见http://en.wikipedia.org/wiki/Comparison_of_SSH_servers

使用多个主机时的另一个要求是,可以使用 SSH 和适当的密钥或用户凭据对任何远程主机进行身份验证,如以下几段所述:

身份验证和安全性. 自动安装程序可以使用三种基本的远程访问安全性或身份验证机制,我们在此处列出并描述这些机制:

  • SSH. 安全 Shell 连接用于使后端能够在远程主机上执行操作。因此,SSH 服务器必须在远程主机上运行。另外,运行安装程序的 os 用户必须可以使用用户名和密码,或者使用公用密钥和专用密钥来访问远程服务器。

Important

绝对不要使用系统root帐户进行远程访问,因为这是非常不安全的。另外,mysqld通常不能由系统root启动。由于这些及其他原因,您应该为目标系统上的常规用户帐户而不是系统root提供 SSH 凭据。有关此问题的更多信息,请参见第 6.1.5 节“如何以普通用户身份运行 MySQL”

  • HTTPS. 默认情况下,Web 浏览器前端与后端之间的远程通信未加密,这意味着诸如用户 SSH 密码之类的信息以明文形式传输,任何人都可以读取。为了对来自远程 Client 端的通信进行加密,后端必须具有证书,并且前端必须使用 HTTPS 而不是 HTTP 与后端进行通信。通过发布自签名证书,最容易实现 HTTPS 启用。颁发证书后,必须确保已使用它。您可以通过使用--use-https--cert-file选项从命令行启动ndb_setup.py来完成此操作。

  • 基于证书的认证. 后端ndb_setup.py进程可以在 localhost 和远程主机上执行命令。这意味着连接到后端的任何人都可以负责命令的执行方式。要拒绝到后端的不需要的连接,可能需要证书来验证 Client 端。在这种情况下,必须由用户颁发证书,将其安装在浏览器中,并提供给后端以进行身份验证。您可以通过使用--ca-certs-file选项启动ndb_setup.py来制定此要求(连同或代替密码或密钥验证)。

当 Client 端浏览器与自动安装程序后端在同一主机上运行时,不需要安全认证。

另请参阅第 21.5.17 节“ NDB 群集安全性问题”第 6 章,安全性,其中第 21.5.17 节“ NDB 群集安全性问题”讨论了部署 NDB 群集时要考虑的安全性注意事项,以获取更一般的 MySQL 安全性信息。