Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Essentials

...

  • SHOW VIEW

  • PROCESS (as of MySQL 8.x)

  • EVENT

  • TRIGGER

  • SHOW DATABASES

  • RELOAD

Flow User Sample

Create a user with all the necessary privileges to install and run Flow for Chameleon. SUPER privilege is not required assuming server is configured correctly (need log_bin_trust_function_creators=1 set when bin logging enabled.) The use of 127.0.0.1 instead of localhost below is used to enable connecting to a second instance of MySQL on a non-default port. If you use localhost the MySQL command line interface ignores any other port specification and always uses the default 3306 port.

...

If you try to run the procedure scripts with a FLOW user but they were originally created by the root user then you will get an error in MySQL 8.0.16 or greater. The error will tell you you need the SYSTEM_USER privilege. To resolve - you can temporarily assign the SYSTEM_USER privilege to allow the FLOW user to drop the code created by root and recreated them. Once created by FLOW the user retains the right to drop them in the future. (Obviously this only works in situations where you have a MySQL login with the ability to grant SYSTEM_USER to the FLOW user. You probably won’t on an RDS instance and then you need to set log_bin_trust_function_creators to 1 in the parameter group and apply it.)

Code Block
languagesql
GRANT  SYSTEM_USER ON *.* TO 'FLOW'@'localhost';
... run stored procedure scripts / DB Updates  ...
REVOKE  SYSTEM_USER ON *.* FROM 'FLOW'@'localhost';

Suspending Privileges

You may want to temporarily disable the access to the database. In that case you would use a REVOKE command:

...