|« PreviousNext »|
|Did this page help you? Yes | No | Tell us about it...|
Amazon RDS supports DB instances running several versions of MySQL. You can create DB instances and DB snapshots, read replicas, point-in-time restores and automated or manual backups. DB instances running MySQL can be used inside a VPC. You can also use SSL to connect to a DB instance running MySQL.
In order to deliver a managed service experience, Amazon RDS does not provide shell access to DB instances, and it restricts access to certain system procedures and tables that require advanced privileges. Amazon RDS supports access to databases on a DB instance using any standard SQL client application. Amazon RDS does not allow direct host access to a DB instance via Telnet, Secure Shell (SSH), or Windows Remote Desktop Connection. When you create a DB instance, you are assigned to the db_owner role for all databases on that instance, and you will have all database-level permissions except for those used for backups (Amazon RDS manages backups for you).
For information about importing MySQL data into a DB instance, see Importing and Exporting Data From an Amazon RDS MySQL DB Instance.
In addition to the information in this section specific to MySQL instances, you can perform the standard Amazon RDS management actions on MySQL instances:
For information about controlling access to Amazon RDS MySQL instances, see Managing Access to Your Amazon RDS Resources and Databases
For information about tasks common to all DB engines, such as renaming instances, backing up and restoring, and using RDS features such as parameter groups and option groups, see Tasks Common to All Amazon RDS DB Engines .
For information about monitoring an instance, such as viewing Cloudwatch Amazon RDS metrics, events, and viewing database log files, see Monitoring a DB Instance .
With Amazon RDS, you control when to upgrade your MySQL instance to a new version supported by Amazon RDS. You can maintain compatibility with specific MySQL versions, test new versions with your application before deploying in production, and perform version upgrades at times that best fit your schedule.
You can specify any currently supported MySQL version when creating a new DB Instance. You can specify the MySQL 5.6, 5.5, or 5.1 major versions, and any supported minor version for the specified major version. If no version is specified, Amazon RDS will default to a supported version, typically the most recent version. If a major version (e.g. MySQL 5.6) is specified but a minor version is not, Amazon RDS will default to a recent release of the major version you have specified. To see a list of supported versions, as well as defaults for newly created DB Instances, simply use the DescribeDBEngineVersions API.
Amazon RDS currently only supports major version upgrades from MySQL 5.1 to MySQL 5.5. Because major version upgrades involve some compatibility risk, they will not occur automatically; you must manually modify the DB instance. You should thoroughly test any upgrade before applying your production instances. For information about upgrading a DB instance, see Upgrading a DB Instance
Unless you specify otherwise, your DB Instance will automatically be upgraded to new MySQL minor versions as they are supported by Amazon RDS. This patching will occur during your scheduled maintenance window, and it will be announced on the Amazon RDS Community Forum in advance. To turn off automatic version upgrades, set the AutoMinorVersionUpgrade parameter to “false.”
If you opt out of automatically scheduled upgrades, you can manually upgrade to a supported minor version release by following the same procedure as you would for a major version update. For information, see Upgrading a DB Instance.
You can test a DB Instance against a new version before upgrading by creating a DB Snapshot of your existing DB Instance, restoring from the DB Snapshot to create a new DB Instance, and then initiating a version upgrade for the new DB Instance. You can then experiment safely on the upgraded clone of your DB Instance before deciding whether or not to upgrade your original DB Instance.
In the context of MySQL, version numbers are organized as follows:
MySQL version = X.Y.Z
...where X denotes the major version, Y denotes the release level, and Z is the version number within the release series. For Amazon RDS implementations, a version change would be considered major if either major version or release level is being changed; for example, going from version 5.1.x to 5.5.x. A version change would be considered minor if the version number within the release is being changed - for example, going from version 5.1.45 to version 5.1.49.
Amazon RDS currently supports the MySQL major versions MySQL 5.1 and MySQL 5.6. Over time, we plan to support additional MySQL versions for Amazon RDS, both minor and major. The number of new version releases supported in a given year will vary based on the frequency and content of the MySQL version releases and the outcome of a thorough vetting of the release by our database engineering team. However, as a general guidance, we aim to support new MySQL versions within 3-5 months of their General Availability release.
The Amazon RDS deprecation policy for MySQL includes the following.
We intend to support major MySQL version releases, including MySQL 5.1, for 3 years after they are initially supported by Amazon RDS.
We intend to support minor MySQL version releases (e.g. MySQL 5.1.45) for at least 1 year after they are initially supported by Amazon RDS.
After a MySQL major or minor version has been “deprecated”, we expect to provide a three month grace period for you to initiate an upgrade to a supported version prior to an automatic upgrade being applied during your scheduled maintenance window.
While MySQL supports multiple storage engines with varying capabilities, not all of them are optimized for recovery and data durability. Amazon RDS fully supports the InnoDB storage engine for MySQL DB instances. Amazon RDS features such as Point-In-Time restore and snapshot restore require a recoverable storage engine and are supported for the InnoDB storage engine only. The MyISAM storage engine does not support reliable recovery and may result in lost or corrupt data when MySQL is restarted after a recovery, preventing Point-In-Time restore or snapshot restore from working as intended. However, if you still choose to use MyISAM with Amazon RDS, snapshots may be helpful under some conditions. For more information on MyISAM restrictions, see Automated Backups with Unsupported MySQL Storage Engines.
If you would like to convert existing MyISAM tables to InnoDB tables, you can use the alter table command (e.g., alter table TABLE_NAME engine=innodb;). Please bear in mind that MyISAM and InnoDB have different strengths and weaknesses, so you should fully evaluate the impact of making this switch on your applications before doing so.
You must be running an instance of MySQL 5.6 to use the InnoDB memcached interface. For more information, see MySQL 5.6 memcached Support.
The Federated Storage Engine is currently not supported by Amazon RDS for MySQL.
This section describes any exceptions and/or special considerations for MySQL database engine parameters.
Because Amazon RDS runs on a case-sensitive file system, setting the
value of the
lower_case_table_names server parameter to
2 ("names stored as given but compared in lowercase") is not supported.
Supported values for Amazon RDS DB Instances are 0 (the default) or
lower_case_table_names parameter should be set as
part of a custom DB parameter group before creating a DB Instance. You
should avoid changing the lower_case_table_names
parameter for existing database instances because doing so could cause
inconsistencies with point-in-time recovery backups and Read Replica DB
Read replicas should always use the same lower_case_table_names parameter value as the master DB Instance.
You can set the
long_query_time parameter to a floating point value which allows you
to log slow queries to the MySQL slow query log with microsecond resolution. You can
set a value such as 0.1 seconds, which would be 100 milliseconds, to help when
debugging slow transactions that take less than one second.
Amazon RDS supports SSL connections with DB instances running the MySQL database engine.
Amazon RDS creates an SSL certificate and installs the certificate on the DB instance when Amazon RDS provisions the instance. These certificates are signed by a certificate authority. The public key is stored at https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem.
The SSL support in Amazon RDS is strictly for encrypting the connection between your client and your DB instance; it should not be relied on for authenticating the server.
To encrypt connections using the default mysql client,
launch the mysql client using the
--ssl_ca parameter to
reference the public key, for example:
mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com
you can use the GRANT statement to require SSL connections for specific users accounts. For example, you can use the following statement to require SSL connections on the user account encrypted_user:
GRANT USAGE ON *.* TO ‘encrypted_user’@’%’ REQUIRE SSL
For more information on SSL connections with MySQL, go to the MySQL documentation.
Managing users and privileges in DB instances works the same way as in
stand-alone database instances. Commands such as
SET PASSWORD work just as
they do in stand-alone databases, as does directly modifying database schema tables.
When you create a database instance, the master user has the following default privileges:
create temporary tables
Although it is possible to delete the master user on the DB instance, it
is not recommended. To recreate the master user, use the
ModifyDBInstance API or the
rds-modify-db-instance command line tool and specify a
new master user password with the appropriate parameter. If the master user does
not exist in the instance, the master user will be created with the specified
To provide management services for each DB instance, the
user is created when the DB instance is created. Attempting to drop, rename, change
the password, or change privileges for the
rdsadmin account will result
in an error.
To allow management of the DB instance, the standard
kill_query commands have been restricted. The RDS commands
provided to allow you to terminate user sessions or queries on DB instances.
Amazon RDS currently does not support the following MySQL features:
Global Transaction IDs
InnoDB Cache Warming
Transportation Table Space
Password Strength Plugin
Most Amazon RDS DB engines support option groups that allow you to select additional features for your DB instance. MySQL 5.6 DB instances support the memcached option, a distributed memory cache service. For more information about the memcached option, see Appendix: Options for MySQL DB Engine. For more information about working with option groups, see Working with Option Groups.