Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perbandingan Aurora MySQL versi 3 dan MySQL 8.0 Community Edition
Anda dapat menggunakan informasi berikut untuk mempelajari tentang perubahan yang harus diperhatikan ketika Anda mengonversi dari sistem yang kompatibel dengan MySQL 8.0 yang berbeda ke Aurora MySQL versi 3.
Secara umum, Aurora MySQL versi 3 mendukung set fitur MySQL 8.0.23 komunitas. Beberapa fitur baru dari MySQL 8.0 edisi komunitas tidak berlaku untuk Aurora MySQL. Beberapa fitur tersebut tidak kompatibel dengan beberapa aspek Aurora, seperti arsitektur penyimpanan Aurora. Fitur lain tidak diperlukan karena layanan manajemen Amazon RDS menyediakan fungsionalitas yang setara. Fitur berikut di MySQL 8.0 komunitas tidak didukung atau berfungsi secara berbeda di Aurora MySQL versi 3.
Untuk catatan rilis untuk semua rilis Aurora MySQL versi 3, lihat Pembaruan mesin basis data untuk Amazon Aurora MySQL versi 3 dalam Catatan Rilis untuk Aurora MySQL.
Topik
Fitur MySQL 8.0 tidak tersedia di Aurora MySQL versi 3
Fitur berikut dari MySQL 8.0 komunitas tidak tersedia atau berfungsi secara berbeda di Aurora MySQL versi 3.
-
Grup sumber daya dan pernyataan SQL terkait tidak didukung di Aurora MySQL.
-
Aurora MySQL tidak mendukung ruang tabel undo yang ditentukan pengguna dan pernyataan SQL terkait, seperti, dan.
CREATE UNDO TABLESPACE
ALTER UNDO TABLESPACE ... SET INACTIVE
DROP UNDO TABLESPACE
-
Aurora MySQL tidak mendukung pembatalan pemotongan tablespace untuk versi Aurora MySQL yang lebih rendah dari 3.06. Di Aurora MySQL versi 3.06 dan yang lebih tinggi, pemotongan tablespace undo otomatis didukung.
-
Anda tidak dapat memodifikasi pengaturan plugin MySQL apa pun.
-
Plugin X tidak didukung.
-
Replikasi multisumber tidak didukung.
Model hak akses berbasis peran
Dengan Aurora MySQL versi 3, Anda tidak dapat memodifikasi tabel dalam basis data mysql
secara langsung. Secara khusus, Anda tidak dapat mengatur pengguna dengan melakukan penyisipan ke dalam tabel mysql.user
. Sebagai gantinya, Anda menggunakan pernyataan SQL untuk memberikan hak akses berbasis peran. Anda juga tidak dapat membuat jenis objek lain seperti prosedur tersimpan dalam basis data mysql
. Anda masih dapat mengueri tabel mysql
. Jika Anda menggunakan replikasi log biner, perubahan yang dilakukan langsung ke tabel mysql
di klaster sumber tidak direplikasi ke klaster target.
Dalam beberapa kasus, aplikasi Anda mungkin menggunakan pintasan untuk membuat pengguna atau objek lain dengan melakukan penyisipan ke dalam tabel mysql
. Jika demikian, ubah kode aplikasi Anda untuk menggunakan pernyataan yang sesuai seperti CREATE
USER
. Jika aplikasi Anda membuat prosedur tersimpan atau objek lain dalam basis data mysql
, gunakan basis data yang berbeda sebagai gantinya.
Untuk mengekspor metadata bagi pengguna database selama migrasi dari database MySQL eksternal, Anda dapat menggunakan perintah MySQL Shell sebagai gantinya. mysqldump
Untuk informasi selengkapnya, lihat Instance Dump Utility, Schema Dump Utility, dan Table Dump Utility
Untuk menyederhanakan pengelolaan izin bagi banyak pengguna atau aplikasi, Anda dapat menggunakan pernyataan CREATE ROLE
untuk membuat peran yang memiliki serangkaian izin. Kemudian, Anda dapat menggunakan pernyataan GRANT
dan SET ROLE
serta fungsi current_role
untuk menetapkan peran ke pengguna atau aplikasi, mengganti peran saat ini, dan memeriksa peran mana yang berlaku. Untuk informasi selengkapnya tentang sistem izin berbasis peran di MySQL 8.0, lihat Using Roles
penting
Kami sangat menyarankan agar Anda tidak menggunakan pengguna master secara langsung di aplikasi Anda. Sebagai gantinya, ikuti praktik terbaik menggunakan pengguna basis data yang dibuat dengan hak akses paling rendah yang diperlukan untuk aplikasi Anda.
Topik
rds_superuser_role
Aurora MySQL versi 3 mencakup peran khusus yang memiliki semua hak akses berikut. Peran ini bernama rds_superuser_role
. Pengguna administratif primer untuk setiap klaster sudah diberi peran ini. Peran rds_superuser_role
mencakup hak akses berikut untuk semua objek basis data:
-
ALTER
-
APPLICATION_PASSWORD_ADMIN
-
ALTER ROUTINE
-
CONNECTION_ADMIN
-
CREATE
-
CREATE ROLE
-
CREATE ROUTINE
-
CREATE TEMPORARY TABLES
-
CREATE USER
-
CREATE VIEW
-
DELETE
-
DROP
-
DROP ROLE
-
EVENT
-
EXECUTE
-
INDEX
-
INSERT
-
LOCK TABLES
-
PROCESS
-
REFERENCES
-
RELOAD
-
REPLICATION CLIENT
-
REPLICATION SLAVE
-
ROLE_ADMIN
-
SET_USER_ID
-
SELECT
-
SHOW DATABASES
-
SHOW_ROUTINE
(Aurora MySQL versi 3.04 dan lebih tinggi) -
SHOW VIEW
-
TRIGGER
-
UPDATE
-
XA_RECOVER_ADMIN
Definisi peran juga mencakup WITH GRANT OPTION
sehingga pengguna administratif dapat memberikan peran tersebut kepada pengguna lain. Secara khusus, administrator harus memberikan hak akses yang diperlukan untuk melakukan replikasi log biner dengan klaster Aurora MySQL sebagai target.
Tip
Untuk melihat detail lengkap izin, masukkan pernyataan berikut.
SHOW GRANTS FOR rds_superuser_role@'%'; SHOW GRANTS FOR
name_of_administrative_user_for_your_cluster
@'%';
Hak istimewa memeriksa pengguna untuk replikasi log biner
Aurora MySQL versi 3 mencakup hak istimewa memeriksa pengguna untuk replikasi log biner (binlog),. rdsrepladmin_priv_checks_user
Selain hak istimewards_superuser_role
, pengguna ini memiliki replication_applier
hak istimewa.
Ketika Anda mengaktifkan replikasi binlog dengan memanggil prosedur mysql.rds_start_replication
tersimpan, rdsrepladmin_priv_checks_user
dibuat.
rdsrepladmin_priv_checks_user@localhost
Pengguna adalah pengguna yang dicadangkan. Jangan memodifikasinya.
Peran untuk mengakses layanan lain AWS
Aurora MySQL versi 3 mencakup peran yang dapat Anda gunakan untuk mengakses layanan lain. AWS
Anda dapat mengatur peran ini sebagai alternatif untuk pernyataan GRANT
. Misalnya, Anda menentukan GRANT AWS_LAMBDA_ACCESS TO
, bukan user
GRANT INVOKE
LAMBDA ON *.* TO
. Untuk prosedur untuk mengakses AWS layanan lain, lihatMengintegrasikan Amazon Aurora MySQL dengan layanan AWS lainnya. Aurora MySQL versi 3 mencakup peran berikut yang terkait dengan mengakses layanan lain: AWS user
-
Peran
AWS_LAMBDA_ACCESS
, sebagai alternatif untuk hak aksesINVOKE LAMBDA
. Untuk informasi penggunaan, lihat Menginvokasi fungsi Lambda dari klaster DB Amazon Aurora MySQL. -
Peran
AWS_LOAD_S3_ACCESS
, sebagai alternatif untuk hak aksesLOAD FROM S3
. Untuk informasi penggunaan, lihat Memuat data ke klaster DB Amazon Aurora MySQL dari file teks di bucket Amazon S3. -
Peran
AWS_SELECT_S3_ACCESS
, sebagai alternatif untuk hak aksesSELECT INTO S3
. Untuk informasi penggunaan, lihat Menyimpan data dari klaster DB Amazon Aurora MySQL ke dalam file teks di bucket Amazon S3. -
Peran
AWS_SAGEMAKER_ACCESS
, sebagai alternatif untuk hak aksesINVOKE SAGEMAKER
. Untuk informasi penggunaan, lihat Menggunakan machine learning Amazon Aurora dengan Aurora MySQL. -
Peran
AWS_COMPREHEND_ACCESS
, sebagai alternatif untuk hak aksesINVOKE COMPREHEND
. Untuk informasi penggunaan, lihat Menggunakan machine learning Amazon Aurora dengan Aurora MySQL.
Ketika Anda memberikan akses dengan menggunakan peran di Aurora MySQL versi 3, Anda juga perlu mengaktifkan peran ini dengan menggunakan pernyataan SET ROLE
atau role_name
SET ROLE ALL
. Contoh berikut menunjukkan cara melakukannya. Ganti nama peran yang sesuai untuk AWS_SELECT_S3_ACCESS
.
# Grant role to user.
mysql>
GRANT AWS_SELECT_S3_ACCESS TO 'user
'@'domain-or-ip-address
' # Check the current roles for your user. In this case, the AWS_SELECT_S3_ACCESS role has not been activated. # Only the rds_superuser_role is currently in effect.mysql>
SELECT CURRENT_ROLE();+--------------------------+ | CURRENT_ROLE() | +--------------------------+ | `rds_superuser_role`@`%` | +--------------------------+ 1 row in set (0.00 sec)
# Activate all roles associated with this user using SET ROLE. # You can activate specific roles or all roles. # In this case, the user only has 2 roles, so we specify ALL.mysql>
SET ROLE ALL;Query OK, 0 rows affected (0.00 sec)
# Verify role is now activemysql>
SELECT CURRENT_ROLE();+-----------------------------------------------------+ | CURRENT_ROLE() | +-----------------------------------------------------+ | `AWS_SELECT_S3_ACCESS`@`%`,`rds_superuser_role`@`%` | +-----------------------------------------------------+
Autentikasi
Di MySQL 8.0 komunitas, plugin autentikasi default adalah caching_sha2_password
. Aurora MySQL versi 3 masih menggunakan plugin mysql_native_password
. Anda tidak dapat mengubah pengaturan default_authentication_plugin
.