Questions tagged with Aurora MySQL
Content language: English
Sort by most recent
I had bought a reserved instance for RDS db instance db.r5.4xlarge on January-05-2022 for 3 years duration. In the month of December-2022, I had to upgrade that instance to db.r5.8xlarge because we were facing some high database load.
Since then I saw the increase in billing and I need your help to bring down these additional charges.
I'm expecting to save the overall cost by $1500.
I see that the reserved instance db.r5.4xlarge is being 100% utilized, at the same time $320.14 got charged in this month for USD 0.4303 hourly fee per Aurora MySQL, db.r5.4xl instance which is not there anymore in my account. so this $320.14 charges are extra for me.
Then, these charges USD 0.021 per GB-month of backup storage exceeding free allocation for Aurora MySQL costed me $283.38 so far.
Kindly advise how I can reduce the cost?
I've recently upgraded my database from mysql5.7 to mysql8.0.26 which also incorporated an upgrade from Aurora 2 to Aurora 3 which is where I think the issue lies as there are no references to the following issue in the mySQL documentation.
During the upgrade the myql.user table is copied to the new database (using a Blue/Green deployment). GRANT permissions are also copied across and all the details remain unchanged as I have verified with `SHOW GRANTS` on both the blue and green environments. However, my users in the mysql8 DB do not have access to the resources identified in the GRANTS where those resources contain an underscore.
To reproduce the issue:
1. Create an Aurora 3 DB instance running MySQL 8.0.26
2. CREATE SCHEMA new_schema ;
3. CREATE TABLE new_schema.test_table (id int);
4. GRANT ALL PRIVILEGES ON `new\_schema`.* TO `my-user`@`%`
Run `SHOW GRANTS for my-user;` and you will see the following response:
```
GRANT ALL PRIVILEGES ON `new\_schema`.* TO `my-user`@`%`
```
That is the expected response, and mySQL documentation advises keeping the escape character in place to avoid any issues related to partial_revokes (which I can confirm is OFF by default).
Now the problem is, in Aurora 3, if I log in with `my-user` and run `SELECT * FROM new_schema.test_table` I get a permission denied error.
I have investigated a similar sounding issue in re:post [here](https://repost.aws/questions/QUeD79WVUQT4WJ9bpMNJ7hfg/aurora-3-my-sql-the-value-of-the-partial-revokes-parameter-in-the-parameter-group-is-different-from-the-value-of-the-same-variable-in-my-sql) however, I have already confirmed that `partial_revokes` as set to 0 (disabled) both in my database parameter groups and if I query it directly in mysql.
Aurora MySQL creates 2 Storage Replicas in 3 AZs. Does creating an Aurora read instance take advantage of Storage Replica?
If the read instance takes advantage of Storage Replica, I think it's great in terms of disk I/O.
I'm curious if it works this way.
Someone deleted rows from the critical table of RDS Aurora MySQL Instance. We don't have anything in slow query log either. Is there any other way to find out or trace all the query that ran against RDS aurora Instances?
I'm newbie to AWS. When I looked at my Bill today, the RDS Backup services were the cause of the rise in the bill.
There isn't a database,nor snapshots or anything operating at the RDS Dashboard, only the standard mysql:80.
How can I terminate the RDS Backup Services?
what is "running tasks" in enhanced monitoring of aurora MYSQL?

How do i migrate RDS encrypted cluster to another aws account?
1. Its encrypted DB
2. its a cluster
Based on above,
1. Sharing snapshot wont work
2. copy clustered DB snapshot is not available yet
3. manual export import is not an option
Please suggest ways
I am using the Aurora Blue/Green deployment process to upgrade by database from mySQL5.7 to mySQL8.0.26. This also is upgrading the Aurora engine from 2 to 3.
The upgrade fails due to a pre-check failure:
```
{
"id": "engineMixupCheck",
"title": "Tables recognized by InnoDB that belong to a different engine",
"status": "OK",
"description": "Error: Following tables are recognized by InnoDB engine while the SQL layer believes they belong to a different engine. Such situation may happen when one removes InnoDB table files manually from the disk and creates e.g. a MyISAM table with the same name.\n\nA possible way to solve this situation is to e.g. in case of MyISAM table:\n\n1. Rename the MyISAM table to a temporary name (RENAME TABLE).\n2. Create some dummy InnoDB table (its definition does not need to match), then copy (copy, not move) and rename the dummy .frm and .ibd files to the orphan name using OS file commands.\n3. The orphan table can be then dropped (DROP TABLE), as well as the dummy table.\n4. Finally the MyISAM table can be renamed back to its original name.",
"detectedProblems": [
{
"level": "Error",
"dbObject": "mysql.general_log_backup",
"description": "recognized by the InnoDB engine but belongs to CSV"
}
]
}
```
As an Aurora user, it is not possible for me to delete, move, move, alter or change any tables in the `mysql` tablespace, so the recommend remediation is not possible.
So my question is, how can I force the Blue/Green process to skip this check, or even better, how can I manually DROP the `mysql.general_log_backup` table as I do not need it?
Please note I am using "FILE" based logging the DB parameters.
Steps to reproduce:
- Create an aurora instance with Engine version 5.7.mysql_aurora.2.10.3
- start a blue green deployment with
* engine version 8.0 and aurora3+
* use custom cluster parameter group
* use custom instance parameter group
- Blue Green environment created
- DB Engine Upgrade fails
Thanks!
Hello there,
I'm trying to drop a DB on the Aurora, but the requests just hangs. I've tried several times and the last attempt has been runnning for 600 seconds.
it's a tiny DB of 20MB gzipped.
* running `show databases;` returns the borken_db in the list.
* running `use broken_db;`now hangs too.
* running `show processlist`returns the following:
| Id | User | Host | db | Command | Time | State | Info |
|----|-----------------|-----------------|-------------|---------|------|----------------------------------|-----------------------------|
| 5 | event_scheduler | localhost | | Daemon | 8310 | Waiting on empty queue | |
| 19 | rdsadmin | localhost | | Sleep | 0 | | |
| 21 | rdsadmin | localhost | | Sleep | 1 | | |
| 22 | rdsadmin | localhost | | Sleep | 1 | | |
| 25 | rdsadmin | localhost | | Sleep | 252 | | |
| 36 | root_user | 10.0.0.48:36768 | broken_db | Sleep | 2404 | | |
| 38 | root_user | 10.0.0.48:36788 | mysql | Query | 2736 | Waiting for schema metadata lock | DROP DATABASE `broken_db` |
| 47 | root_user | 10.0.0.48:36826 | mysql | Query | 2346 | Waiting for schema metadata lock | drop DATABASE broken_db |
| 50 | root_user | 10.0.0.48:36854 | | Query | 1990 | Waiting for schema metadata lock | USE `broken_db` |
| 51 | root_user | 10.0.0.48:36874 | mysql | Query | 0 | init | show processlist |
| 52 | root_user | 10.0.0.48:36894 | mysql | Query | 1042 | Waiting for schema metadata lock | use broken_db |
| 58 | root_user | 10.0.0.48:36922 | | Query | 178 | Waiting for schema metadata lock | use broken_db |
| 59 | rdsadmin | localhost | | Sleep | 7 | | |
where do I go from there?
I’m encountering a strange issue. We migrated to MySQL 5.7 using blue-green and it went smoothly. Old blue no longer receives any updates. However, when I stop old blue in preparation for deleting it, my apps start generating intermittent MySQL errors complaining of no packet received for n milliseconds. N is frequently a very large number. I have restarted old blue but I need to delete it soon. Has anyone encountered this issue?
I have +20 RDS Aurora MYSQL clusters, each with a read and write replica. On each of these clusters I have many databases (thousands), and on each database I have a of table like this:
```
CREATE TABLE `projects` (
`id` INT(11) NOT NULL AUTO_INCREMENT,...
```
Sometimes, the AUTO_INCREMENT value of this table gets out of sync on the read and write replica.
An example:

and another example:

When this happens, on insert, I get errors like this
```
Caused by: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '214' for key 'PRIMARY'
Caused by: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '16' for key 'PRIMARY'
```
The only fix available is a cluster failover, that is switch read and writer replicas. After failover the values are synchronized and the insert works.
Does anyone else have this issue? Is this the right place to post this issue so that the AWS developers know about and maybe fix it?
How can we run sql on mysql RDS and get the output on SNS?