Migrating AWS RDS to GCP (sql 5.7) - mysql

im running mysql 5.7 in my AWS RDS. I wanted to migrate the DB to my GCP without downtime.
How this can be done? Can i create a replica to GCP and use it as Master DB in GCP environement

yes, you could create a replicate to external mysql, you could find guideline as below link.
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.External.Repl.html
After you switch to gcp, you could still set the replicate the reverse way to aws rds mysql.
Also you could find more detailed steps in below aurora doc link. it contains the configuration for aurora, rds mysql, mysql.
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html

Related

From localhost to aurora serverless

I'm studying the possibility to switch from an rds mysql (in use and with tables and data inside) to aurora serverless mysql to try to spend less money because the database is used for few operations. I can connect to rds mysql from my pc (dbeaver, mysql workbench and so on) without problems and I can design tables, view data, create users...
Now, I've created the new serverless db and attached to the same vpc and sec group of the first one but I can't connect to it from my pc. I've read on aws guides that there are two solutions:
use ec2 to ssh tunnel requests --> but it's a payware solution;
use cloud9 and connect via terminal --> but organizing a db in this way is not so simple as using a gui client.
For this reasons I've quite understood that serverless is not a good solution for now.
Any idea or suggest?
Thanks in advance

Export an AWS Aurora Serverless MySQL database with mysqldump

Is it possible to export an AWS Aurora Serverless MySQL database with mysqldump without using an EC2 instance?
At this time you cannot gain public access to Aurora, or use a site to site VPN connection to connect to it.
Whichever resource you use will need to reside within the VPC of the Aurora Serverless cluster. Possible solutions to bypass the requirement for EC2 would be either running a Fargate container to run your command or looking at Lambda to execute the command.
I finally decided to emulate mysqldump using Python and the AWS Data API.
To emulate mysqldump, I followed:
How can I dump a MySQL database without using mysqldump in Python

Migrating MySQL DB instance on RDS to Amazon Aurora

I had created a MySQL DB instance on RDS, following are the details:
Instance class - db.t2.micro
Engine version - 8.0.17
It is present in us-east-1 region.
Now I have to move my MySQL DB to Amazon Aurora, following were the documentation guides which i followed:
1- https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.RDSMySQL.Replica.html
On following the above guide i am only able to create a read replica. The option for creating a aurora replica is not visible. Also, when i create read replica it is created for mysql db and not gives me option to create for any other engine type.
2- https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.RDSMySQL.Import.html
On following the above guide, i am able to create snapshot for my mysql db instance. But, the option to 'Migrate Snapshot' is disabled. Could anyone please help me with this.
Could anyone also suggest me any other way in which i can migrate my MySQL db on RDS to Amazon Aurora?
Aurora MySQL is only supported for MySQL 5.6 and 5.7 unfortunately so the read replica solution would not work.
However, Amazon have you covered with the Database Migration Service.
AWS published a blog post on this, so take a read.

How to Synchronize MySQL Database from an On Premise to Amazon RDS

I am new to Amazon RDS, and looking to get answer for my question below and couldn't find the answer on stackoverflow yet.
I have a MySQL Database on premise that I want to synchronize with the MySQL Database on Amazon RDS. I understand that replication is possible with Amazon RDS, but how about continuous synchronization? Say my existing local database has one transaction that has been made, I want to synchronize just that transaction, either immediately or by schedule, so that I don't need to replicate the whole thing to RDS.
Does RDS have this feature for MySQL or any other database?
If not, what tools should I be using? EC2 + ? ?
Or is there any database that supports this so I can just run the database on EC2?
Your best (first) option should probably be the AWS Database Migration Service. This is a migration service for exactly your use-case.
If uptime is less of an issue, you could always do a mysql_dump, move that to an EC2 instance and load that into an RDS instance.

How does one see what data is stored in the RDS database?

Running our app on Amazon RDS. How does one review / inspect data in the database? For example, how can I get a list of articles?
My app is running on Ruby on Rails and on Heroku. One method I thought of, is by running the Heroku console command.
Is there a better way to see what data is stored in the RDS database?
I use MySQL Workbench to view data, run queries, and so on. It connects right up to the Amazon RDS MySQL instance using the regular MySQL settings.
Updated:
Be sure to add the ip address of the computer for which you're connecting to the RDS instance to the access list in RDS. IIRC, by default RDS instances will only accept connections from within AWS.
I was using SequelPro but they don't support ssl. Amazon RDS says something to the effect of having to use SSH to connect your EC2 to your RDS.
This is essentially what was done in the following tutorial which uses MySQL Workbench: http://thoughtsandideas.wordpress.com/2012/05/17/monitoring-and-managing-amazon-rds-databases-using-mysql-workbench/
I had also been using SequelPro before but this tutorial is very clear and I was up and running on MySQL Workbench in just a few minutes.