Environment requirements for manual ingestion
Given below are the pre-requisites for MySQL virtualization when using Manual Ingestion mode.
Source environment requirements
Source environment is where the source MySQL databases are running.
Source DB user
In Manual Ingestion mode, Delphix does not interact with the source database. Delphix creates a staging database and the backups are ingested manually by a customer user. However, Delphix needs to be able to manage this staging database for snapshots and other time travel operations. Hence, we require a user with the following permissions on the staging database.
SELECT, SHUTDOWN, SUPER, RELOAD ,SHOW VIEW, EVENT, TRIGGER
This can be achieved by following:
Create this user on your source database so that when the backup is restored, this user is present on the staging database.
Plugin will attempt to create this user and assign the required privileges on the staging database during the dSource creation. Plugin will fail if it is not able to create this user or assign the required permissions on the staging DB. User needs to ensure that this user is always present in the staging database and has the necessary privileges. This is required as delphix will use this user to perform any time travel operations.
CODEPowerShell mysql>CREATE USER 'delphix_os'@'localhost' IDENTIFIED BY 'delphix_user_passwd';
Grant the necessary privileges to the user.
mysql> GRANT SELECT, SHUTDOWN, SUPER, RELOAD ,SHOW VIEW, EVENT, TRIGGER on *.* to 'delphix_os'@'localhost';
You can also grant more permissive privileges
mysql>GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
Note
Remember, this is the user that Delphix uses to manage the Staging database. So, you need to create this user on the source database.
Staging environment requirements
Staging OS user
This is a typical Delphix OS staging user. Key requirements for this user are given below.
A Delphix OS user with the elevated permissions to run ps, mount, umount, mkdir, rmdir commands without requiring a password. In the example below permissions are provided to delphix_os user.
/etc/sudoers
Defaults:delphix_os !requiretty
delphix_os ALL=NOPASSWD: \
/bin/mount, /bin/umount, /bin/mkdir, /bin/rmdir, /bin/ps
Delphix OS user should be in the same primary and secondary groups as mysql user ( or the MySQL binary owner )
Delphix OS user must have execute access on all files within MySQL installation folder - Min permission level 775 recommended.
Storage
Empty folder on staging host to hold Delphix toolkit [ approximate 2GB free space ]
MySQL version & configuration
MySQL Binary version must match the version on the source database(s)
Starter my.cnf file [Recommended]
As every organization's MySQL configuration is different, User can place a starter my.cnf file to be present in Delphix Toolkit Directory when creating a staging database.
Delphix will use this my.cnf file and modify it as per the configuration provided during the the dsource creation process.
This is recommended to reduce the possibility of errors while restoring the backup from the source database.
Having a my.cnf in the toolkit directory is not mandatory, if this file is not provided, Delphix will create a my.cnf file from scratch.
Target environment requirements
Target OS user
This is a typical Delphix OS target user. Key requirements for this user are given below.
Please refer to Delphix Docs for more detailed requirements.
A Delphix OS user with the elevated permissions to run ps, mount, umount, mkdir, rmdir commands without requiring a password. In the example below permissions are provided to delphix_os user.
/etc/sudoers
Defaults:delphix_os !requiretty
delphix_os ALL=NOPASSWD: \
/bin/mount, /bin/umount, /bin/mkdir, /bin/rmdir, /bin/ps
Delphix OS user should be in the same primary and secondary groups as mysql user ( or the MySQL binary owner )
Delphix OS user must have execute access on all files within MySQL installation folder - Min permission level 775 recommended.
Done, what's next?
All the pre-requisites are now taken care of, next step is to install the connector.