我有2台Windows 2003服务器。 一个是用微软的FastCGI扩展和PHP运行IIS。 另一台服务器正在运行MySQL 5.1。 我想在IIS服务器上设置一些PHP应用程序,让他们在第二台服务器上使用数据库。
我知道我可以在networking堆栈中的较低级别使用其他types的encryption和措施,但是想知道MySQL提供的是什么。
MySQL(标准的开源版本)提供SSLencryption。
首先,你想看看它是否启用。 您可以通过从mysql客户端运行以下命令来完成此操作:
SHOW VARIABLES LIKE 'have_ssl';
如果值是'是',那么你知道你的版本已经编译了。如果它说'DISABLED',那么你已经编译了,但是需要添加下面详细的证书信息。 如果有其他说法,那么你需要得到一个版本。
要启用它,你需要修改你的my.cnf文件,使其在[mysqld]部分包含以下内容:
ssl-ca=ca-cert.pem ssl-cert=my_cert.pem ssl-key=my_key.pem
显然,你需要将值改为任何适当的值。 所有的证书都应该是标准的PEM格式。
我不是一个PHP开发人员,但应该有一种方法来启用您的连接调用。
Mysql本地支持SSL,这里是文档的参考 。 棘手的一点可能是获得PHP版本的MySQL驱动程序,支持SSL。 我不确定,但代码可能需要使用mysqli *而不是mysql *或PDO。
MySQL二进制文件(大多数Windows用户从中安装)仅支持对Windows有一些不确定支持的yaSSL。
如果你想用SSL来运行,你可能需要为你的Windows版本find一个工作的yaSSL安装,或者运行它。