MySQL DSR integration
Automate privacy request handling by integrating MineOS with MySQL.
Missing an action you need, or an integration we don't support yet? Contact your Customer Success Manager.
This integration automates privacy requests for MySQL. MineOS runs the queries you define against your database, using the requester's email address, so you can preview, delete or copy their records.
To scan MySQL for personal data, see MySQL data classification integration.
How It Works
- Preview: before MineOS deletes or copies anything, it runs your search query so you can preview the records it found for the requester.
- Delete: MineOS runs your delete query for the requester's email address. The search query is also used to check that the data was deleted.
- Get a copy: MineOS runs your copy query and sends the requester a copy of the records it returns.
You write one query for each action. Each query must contain the {{endUserEmail}} variable, which MineOS replaces with the requester's email address.
Before You Start
- The integration supports MySQL Server 8.0 and later.
- The database user MineOS connects with needs SELECT on the tables you query, and DELETE on the tables you want MineOS to delete from.
- MineOS must be able to reach your database. Whitelist the MineOS IPs in your database or firewall (IP & Email Whitelisting), or, if the database is on a private network, connect through a VPN tunnel.
Test your queries firstMineOS runs your queries exactly as you write them and doesn't check them. Test each one in your own database before you save.
Setting Up
Step 1: Create a user for MineOS
Create a new database user and grant it SELECT on the databases and tables you want to scan. MineOS can only scan the tables this user has access to.
Step 2: Connect in MineOS
- Log in to MineOS. On the left sidebar, click Inventory → Add data source, search for MySQL and add it.
- Open the MySQL system and go to the DSR & integrations tab. If the system already has an instance, click Add instance.
- Under Action for fulfilling requests, select Integration. In the Integration Type dropdown, select MySQL, then click Set up integration.
- In the setup wizard, enter your database connection string, for example:
Data Source=your-server-ip;Port=3306;Database=your-database;User ID=your-user;Password=your-password; - [Optional] To authenticate with a client certificate, paste its details in the certificate fields.
Step 3: Add your privacy request queries
In the same setup wizard, fill in the three query fields, then click Finish:
- Query used for search records & delete validation: finds the requester's records, for example
SELECT name, phone, address FROM `your_db`.`users` WHERE email = '{{endUserEmail}}'. - Copy Query: returns everything to include in the copy, for example
SELECT * FROM `your_db`.`users` WHERE email = '{{endUserEmail}}'. - Delete Query: deletes the requester's records, for example
DELETE FROM `your_db`.`users` WHERE email = '{{endUserEmail}}'.
You're done! MineOS has been connected to your MySQL database.
Using the Integration in Requests
To handle requests automatically, add the MySQL integration to the workflows of the privacy rights it should handle, such as deletion or get a copy.
Need Help?
If you need any help with this integration, please contact your Customer Success Manager. They will be happy to assist you!
Updated about 2 hours ago
