WIP: MySQL trigger checks no longer require admin privileges.

What does this MR do?

Current migration code requires MySQL user to have admin rights on the database. The change uses MySQL's information_schema tables rather than the restricted mysql.user table.

Are there points in the code the reviewer needs to double check?

MySQL information_schema is scoped for the user by the looks of it. I have remove the extra scoping and compressed the PostgreSQL grantee into the main method. Not sure if this will work.

I will clean up the unit tests if this change is OK, wanted to get some feedback first.

I also wonder if the unit tests should/could be run with the least privileges needed as I imagine that they are currently running as an admin.

Why was this MR needed?

To ensure that the GitLab doesn't require MySQL admin rights.

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

#38372