Google Cloud SQL

MySQL Slow Query Logs Disabled

Ensures that slow query log flag is enabled for all MySQL instances. 

Risk Level: Low

Description

This plugin ensures that MySQL instances have slow query log flag enabled. The slow query log aids in the detection of queries that take a long time to execute. As a result, it helps in determining what has to be optimized in order to improve performance efficiency. By default, this flag is disabled. 

About the Service

Google Cloud SQL:

Google Cloud SQL is a relational database for MySQL, PostgreSQL, and SQL Server that is fully managed. It automates database provisioning, storage capacity management, replication, and backups while lowering maintenance costs. It can be set up easily using the built-in migration tools and lets you scale your instances effortlessly. To know more about Cloud SQL, read here

Impact

If slow_query_log flag is disabled, you will not be able to log queries that are slow in their execution. This makes it difficult to identify inefficient queries, resulting in a failure to optimize your databases.

Steps to Reproduce

Using GCP Console-

  1. Log In to your GCP Console.
  2. From the top navigation bar, select the GCP project you want to investigate.
  3. From the navigation panel on the left side of the console, go to SQL. You can use this link here to navigate directly if you’re already logged in.
  4. Set Type to MySQL in the Filter box to only see MySQL database instances.
  5. Select the ID of the SQL instance you want to reconfigure from the list of instances available and click on the OVERVIEW tab to check the configuration settings of the selected instance.
  6. In the Database flags section under Configuration, check the configuration of slow_query_log. If it is set to off then the local_infile flag is disabled for the selected SQL instance.
  7. Repeat steps 5 and 6 for all the SQL instances you want to investigate in the selected project.
  8. If you have multiple projects, repeat steps 2 to 7 for each project in your GCP Console. 

Steps for Remediation

Determine whether or not you truly require slow_query_log to be disabled for your SQL instances. If not, make the necessary changes to enable it using the steps below.


Using GCP Console-

  1. Log In to your GCP Console.
  2. From the top navigation bar, select the GCP project you want to investigate.
  3. From the navigation panel on the left side of the console, go to SQL You can use this link here to navigate directly if you’re already logged in.
  4. Set Type to MySQL in the Filter box to only see MySQL database instances.
  5. Select the ID of the SQL instance you want to investigate in the list of instances available. (In case you aren’t sure which SQL instance needs to be configured, follow the steps to reproduce listed above to determine which to choose.)
  6. Go to the OVERVIEW tab and click on the Edit button found on the top navigation bar.

  7. Under the Configuration section, click on Flags and set the status of slow_query_log to on. Click the SAVE button to save all the changes.
    Note: If you do not find the slow_query_log flag, click on the Add item button, choose slow_query_log from the dropdown list provided and set the status to on.
  8. Repeat steps 5 to 7 for all the SQL instances you want to reconfigure in the selected project.
  9. If you have multiple projects, repeat steps 2 to 8 for each project in your GCP console.