我目前正在与我公司内部的DBA和IT安全人员进行讨论,并被告知将我们的主数据库(防火墙后的MSSQL)安全地链接到我们的Web应用程序的唯一方法是制作备份文件,FTP文件到Web服务器,然后运行脚本将导入的备份文件还原到防火墙外托pipe的数据库(然后将数据导入MYSQL)。 我很难相信这是最好的解决scheme。 理想情况下,我想有一个主MSSQL服务器和服务器的Web应用程序的MySQL数据库之间的双向直接链接,并有这些数据库同步。 任何人都可以向我指出这样一个解决scheme,或者是真的,我们需要依靠FTP来穿越防火墙?
谢谢!
这听起来像一场噩梦。
为什么试图保持两个数据库同步? 面向互联网的Web应用程序直接访问数据库服务器没有任何问题。 我不是networking专家,但我认为典型的设置是如何工作的:
当然还有其他的configuration,但这是我所熟悉的。
只要确保通常的预防措施是照顾:
如您所知,将制表符分隔的文件导入MySQL是很容易的部分。 将MSSQL数据导出为与MySQL兼容的格式是一个完全不同的问题。 一旦你有制表符分隔的文件正确,你可以像这样导入它们:
TRUNCATE TABLE App; LOAD DATA LOCAL INFILE 'App.tab' INTO TABLE App LINES TERMINATED BY '\r\n';
要从MSSQL中获取数据,您需要:
所有这些都是使用batch file编写的,并在远程模式下使用mysql.exe。 这里是一个远程模式的例子(但这个例子是一个导出,而不是像你需要的导入):
mysqldump --databases myDB -v -h zzzzzzs9c49.us-east-1.rds.amazonaws.com -u user -P 3306 -p > rdsexport.sql
另外,也许看看这个以防万一它会工作: SymmetricDS