I would like to drop the latest version of FactorySQL onto a PC that is already running a Java application utilizing MySQL ver 4.1. I would also like to use MySQL 5.x that comes with FSQL. Can they peacefully coexist or would I be forced to upgrade the older application?
You can run multiple servers on the same machine and they can be different versions. You’ll need to specify a different port for each one. The docs mentioned something about starting them from the command line - don’t go straight to the Windows installer. It should be explained fully here:
Is this a production system. Why cant you upgrade the whole database to MySQL5. I would either a)Buy another machine to run MySQl5, or b) Virtualize the os running MySQL 5. just my 2c
Ideally I would like to get both on the same (latest) version, but as you point out, production software can’t be arbitrarily changed without reasonable off-line testing. It seems I have to change the tires on rolling vehicles more and more these days…
What kind of servers do you have? Is virtualization an option?
My “Server” is simply a dedicated XP-SP2 PC acting as a CitectSCADA I/O server, with the Java app I described interfacing to CitectSCADA and MySQL.
My long-term goal will be converting completely to FSQL/FPMI when the opportunity presents itself, dumping CitectSCADA, and syncing MySQL versions at that time with Java code touch-ups as needed.
I wouldn’t upgrade the existing database of a working system from MySQL 4 to 5 - that’s just asking for problems without any real upside. As you mentioned, upgrading it after going to PMI should be viable. Your current options include:
- run both versions on the same machine
- run FPMI on a different database of the same 4.x mysql server
- run the database on any other machine
If you only have one running production machine I’d be the most hesitant to perform #1 for both performance and configuration reasons.
Did you really mean FSQL in option 2, or is there some database(s) lurking in the Gateway that I haven’t discovered yet? ie- FSQL is the database(s) manager, FPMI is the database(s) client, right?
If so, is it kosher to downgrade FSQL to MySQL version 4 until Java upgrade time? My tag update rate is going to be in the 3-5 second range, at least until I can dump Citect completely.
If this is so not worth it, I can ask the client to spring for a separate networked PC. What say you?
Yes, we’re referring to FSQL and FPMI since you’re using SQLTags. Speaking of which, both packages have been around prior to MySQL 5 and are tested. I’m not sure whether SQLTags is perfectly compatible with MySQL 4.x (should be…) - looking into that for you. I’m not sure that you can easily “downgrade” your database either. How much production data do you have?
The fact of the matter is that coexisting is totally possible, but sounds pretty resource intensive. You’ve already described: MySQL (4 and 5), FSQL, FPMI, CitectSCADA I/O server and bridge Java application.
My advice would be to get a second machine and move things based on the capabilities/load of each. If you project isn’t huge a modest desktop PC should work ok. Of course, for future scaleability a server is a better idea. If you post what you’re running I can advise.
No need to check for backward compatibility… I can see the risk/time isn’t worth the cost of a new PC. Thanks for the advice!