amazon rds for mysql: best practices and migration
TRANSCRIPT
![Page 1: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/1.jpg)
© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
Amazon RDS for MySQL: Best
Practices and Data Migration
![Page 2: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/2.jpg)
![Page 3: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/3.jpg)
Amazon RDS
Amazon RDS
![Page 4: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/4.jpg)
Amazon RDS is simple and fast to deploy
![Page 5: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/5.jpg)
Amazon RDS handles management tasks
![Page 6: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/6.jpg)
![Page 7: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/7.jpg)
![Page 8: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/8.jpg)
![Page 9: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/9.jpg)
DB
Master
App
Backup
AWS Region
Replication
App
scp Load data
Staging server
DB Slave
![Page 10: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/10.jpg)
![Page 11: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/11.jpg)
![Page 12: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/12.jpg)
SQL Flat files
![Page 13: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/13.jpg)
mysql> GRANT SELECT,REPLICATION USER,REPLICATION CLIENT ON *.* TO repluser@‘<RDS Endpoint>' IDENTIFIED BY ‘<password>';
Create replication user on the master
Record the “File” and the “Position” in the backup
$ mysqldump --databases sampledb --master-data=2 --single-transaction -r sampledbdump.sql -u mysqluser –p mysqluserpassword
---- Position to start replication or point-in-time recovery from--
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
![Page 14: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/14.jpg)
Configure replication target
mysql> call mysql.rds_set_external_master(‘<master server>',3306,‘<replicationuser>',‘<password>','mysql-bin-changelog.000031',107,0);
mysql> call mysql.rds_start_replication;
Configure the replication target and start replication
Stop the app pointing at the source. Stop replication after target catches up
mysql> call mysql.rds_stop_replication;
Promote target Amazon RDS database instance
mysql> call mysql.rds_reset_external_master;
Point the app at the target Amazon RDS database instance
![Page 15: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/15.jpg)
AWS Region
App
Dump Data
Staging server
scp & load
MasterSlave
mysql> call mysql.rds_set_configuration('binlog retention hours', 48);
![Page 16: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/16.jpg)
![Page 17: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/17.jpg)
Physical
synchronous
replication
AZ1 AZ2
DNS
cname update
![Page 18: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/18.jpg)
Sync
replication
Async replication
![Page 19: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/19.jpg)
[ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: ‘Client requested master to start replication from impossible position;
![Page 20: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/20.jpg)
Source: https://blogs.oracle.com/MySQL/entry/mysql_5_6_replication_performance
![Page 21: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/21.jpg)
AZ1 AZ2 AZ1
![Page 22: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/22.jpg)
![Page 23: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/23.jpg)
Reads10% Reads10% Reads10% Reads10%Reads10% Reads10% Reads10% Reads10%
Reads10%Writes10%
Reads10%Reads10%Writes10%
Reads10%Reads10%Writes10%
Reads10%Reads10%Writes10%
Reads10%
Reads10%Writes10%
Reads10%Reads10%Writes10%
Reads10%Reads10%Writes10%
Reads10%Reads10%Writes10%
Reads10%
Reads10%Writes10%Reads10%Writes10%Reads10%
Reads
90%
Writes10%
Primary
Writes10%
Replica1
Writes10%
Replica2
Writes10%
Replica3
Writes10%
Replica4
1X2X3X SCALE
![Page 24: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/24.jpg)
Writes 20% Writes 20% Writes 20% Writes 20%
Reads
80%
Reads 20% Reads 20% Reads 20% Reads 20%
Reads 20%
Writes 20%
Reads 20%
Writes 20%
Reads 20%
Writes 20%
Reads 20%
Writes 20%
Writes 20%
Writes20%
Primary Replica1 Replica2 Replica3 Replica4
1X2X SCALE
![Page 25: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/25.jpg)
50%
40%
30%
20%
10%
1
2
3
4
5
6
7
8
1 2 4 8 16 32
Scale
Scale based on % Write
![Page 26: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/26.jpg)
4x
Load buffer pool
Dump buffer pool
![Page 27: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/27.jpg)
0
5000
10000
15000
20000
25000
30000
10
30
50
70
90
11
0
13
0
15
0
17
0
19
0
21
0
23
0
25
0
27
0
29
0
31
0
33
0
35
0
37
0
39
0
41
0
43
0
45
0
47
0
49
0
51
0
53
0
55
0
57
0
59
0
61
0
63
0
65
0
67
0
69
0
Tra
nsa
cti
on
s p
er
Se
co
nd
Time (sec)
Workload with 50/50 R/W ratio
Unwarmed Cache
Warmed Cache4X
9 min
![Page 28: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/28.jpg)
![Page 29: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/29.jpg)
mysql> CREATE EVENT ‘evt_dump_innodb_cache’
ON SCHEDULE EVERY 1 HOUR STARTS ‘2014-11-06 01:00:00’
DO BEGIN CALL mysql.rds_innodb_buffer_pool_dump_now();
END
![Page 30: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/30.jpg)
Considerations Options
![Page 31: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/31.jpg)
Read Only
ReplicaPrimary R2MasterR/W
mysql> ALTER TABLE customers_address ADD COLUMN province VARCHAR(100);
![Page 32: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/32.jpg)
![Page 33: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/33.jpg)
pt-online-schema-change --alter "ADD COLUMN province VARCHAR(100)" --execute h=localhost,D=bench,t=customers_address,u=admin,p=admin
![Page 34: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/34.jpg)
![Page 35: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/35.jpg)
![Page 36: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/36.jpg)
![Page 37: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/37.jpg)
Logging + Storage
SQL
Transactions
Caching
Control PlaneData Plane
Amazon S3
DynamoDB
Amazon SWF
Amazon Route 53
![Page 38: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/38.jpg)
![Page 39: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/39.jpg)
![Page 40: Amazon RDS for MySQL: Best Practices and Migration](https://reader034.vdocument.in/reader034/viewer/2022051516/55a5242a1a28ab63018b4612/html5/thumbnails/40.jpg)
© 2011 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
Questions?