MySQL Connector to Read Only Some Tables in a Database rather than All Tables in a Database

We are using a MySQL connector to load data from our Google Cloud SQL servers into DOMO.

From what I can tell, it is only possible to connect to a Database, and all the tables within that database become accessible via the connector. Any of the tables in our database can be chosen in this window (see the highlighted portion):

Is it possible to configure the connector to only allow certain specific tables to be viewable/chosen? Not all of the tables in our database should be accessible within DOMO. Alternatively, is there some other way that would be better to securely load certain tables from various databases into DOMO?

Tagged:

Best Answer

  • jaeW_at_Onyx
    jaeW_at_Onyx Coach
    Answer ✓

    @walker_page ,

    the credentials you use to access the mysql database determines which data 'Domo can see'.

    it's the same as if you login to mysql with any other IDE, the credentials determine your level of access in the database.

    so the solution, in your case, is not to 'control Domo's access' so much as change the level of access for the credentials you're using (talk to your DBA... this is pretty foundational stuff).

    regarding creating a Domo specific Schema: https://stackoverflow.com/questions/11618277/difference-between-schema-database-in-mysql

    if you don't want to duplicate databases this is probably not the go forward solution for you.


    Lastly... what are you trying to prevent?

    If you're trying to prevent users from loading the wrong content into Domo, keep in mind, the credentials are stored in an account object in Domo. The only people who can use that account object are people you choose to share it with.

    https://domohelp.domo.com/hc/en-us/articles/360042926054-Managing-User-Accounts-for-Connectors

    Jae Wilson
    Check out my 🎥 Domo Training YouTube Channel 👨‍💻

    **Say "Thanks" by clicking the ❤️ in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"

Answers

  • mhouston
    mhouston Contributor

    Do you have to enter in database credentials for the connector? If so you could create a domo-specific schema, with access only to the tables you want accessible to domo, and use that to connect.

  • Thank you @mhouston! Yes, I'm pretty sure we had to enter database credentials for the connector. Can you explain what you mean by 'create a domo-specific schema'? Do you just mean create a separate database on the MySQL side that contains only the tables we want accessible in DOMO?

    We are trying to avoid creating excess databases since it adds cost in GCP.

  • jaeW_at_Onyx
    jaeW_at_Onyx Coach
    Answer ✓

    @walker_page ,

    the credentials you use to access the mysql database determines which data 'Domo can see'.

    it's the same as if you login to mysql with any other IDE, the credentials determine your level of access in the database.

    so the solution, in your case, is not to 'control Domo's access' so much as change the level of access for the credentials you're using (talk to your DBA... this is pretty foundational stuff).

    regarding creating a Domo specific Schema: https://stackoverflow.com/questions/11618277/difference-between-schema-database-in-mysql

    if you don't want to duplicate databases this is probably not the go forward solution for you.


    Lastly... what are you trying to prevent?

    If you're trying to prevent users from loading the wrong content into Domo, keep in mind, the credentials are stored in an account object in Domo. The only people who can use that account object are people you choose to share it with.

    https://domohelp.domo.com/hc/en-us/articles/360042926054-Managing-User-Accounts-for-Connectors

    Jae Wilson
    Check out my 🎥 Domo Training YouTube Channel 👨‍💻

    **Say "Thanks" by clicking the ❤️ in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"