Working with a Shared Database in CORTEX Enterprise Edition

If you have an Enterprise Edition license, you can link multiple CORTEX Dailies systems together. This allows different users to color and sync on different workstations at the same time. It also distributes the rendering process across all linked machines for faster throughput.

To enable shared systems, you need to create a shared database and link all systems to it.

##Configuring a Shared Database
The MySQL backend support was designed to allow multiple instances of Cortex to operate together in a shared environment. Cortex creates a new database for each project, so it is not possible to restrict access to certain databases.

To use Cortex with a MySQL backend, each machine running Cortex must be able to log into the MySQL server directly with a user that has all privileges.

It was not designed to leverage existing infrastructure with specific security requirements beyond what a normal shared file system provides, so if that is a concern, it is recommended that a dedicated machine or virtual machine is used for Cortex.

Please also note that the password used to access the MySQL database is stored in plaintext on the client machine in the application configuration file, so it should not be considered secure and you should not use a password that you use for other secure systems.

###Creating a new user

The basic syntax for creating a new user is as follows:
CREATE user 'username'@'hostname' IDENTIFIED BY 'password';
For example to create a cortex user that can connect from any machine:
CREATE user 'cortexuser'@'%' IDENTIFIED BY 'mypassword';

Then, to grant all privileges (except the grant option):

GRANT ALL PRIVILEGES ON *.* TO 'cortexuser'@'%';

If you wish to restrict access to the database from certain hosts, the wild card ‘%’ for the host name above can be replaced with an IP address or a partial IP address or a host name with wild cards.

Please reference this the MySQL documentation for more information:

##Linking CORTEX Systems to a Shared Database

  • Launch CORTEX and click the Database button in the top right.
  • Click the New button
  • Enter your server and user information.
  • Click Save
    MTIdatabase2

NOTE: the Path selected (R:\CortexShare in the screenshot above) must be set to a location that all systems can see, either on your SAN or on a network share.

That is where certain things like shared template files and DVD background images will be stored.

We have most recently qualified MySQL version 5.6.13

MySQL community edition can be downloaded at the MySQL website here:

http://dev.mysql.com/downloads/mysql/

HeidiSQL is a useful tool when you need to browse the contents of the databases directly:

http://www.heidisql.com/download.php

Do you need to set up separate users in the MySQL database for each Cortex install? For example, if I have Cortex Enterprise running on three different computers, do I need to set up users in the database for ‘Cortex1’, ‘Cortex2’, ‘Cortex3’? Or can all three machines all use the same login/password?

Also, are there any downsides to having the MySQL database hosted on a dedicated Mac computer? Has it been tried?

You can use multiple logins, but it’s recommended to keep it simple and use the same one on all systems.

We haven’t hosted it on a Mac, but it should be fine.

Single login for database works for me. Simple. Just want to make sure there’s no issues on the Cortex side.

1 Like

Just a quick comment: we installed MySQL Community server on a Mac Mini (2.5Ghz i5, 16GB RAM) and Cortex Enterprise works just fine. The latest MySQL Workbench app (version 6.1) makes it easy to add/edit users; no SQL commands needed.

On a related note: shared projects in Cortex is absolutely amazing! This brings a whole new level to productivity. It’s pretty cool to have color on one machine while logging/sync on another. Brilliant!

(And no, I’m not being paid to say this. :smile: )

1 Like

Thanks so much for both being our Mac guinea pig and the awesome endorsement!