Rumah pangkalan data tutorial mysql Pindahkan Pangkalan Data MySQL Setempat Anda ke AWS RDS

Pindahkan Pangkalan Data MySQL Setempat Anda ke AWS RDS

Sep 12, 2024 pm 08:16 PM

Dalam siaran ini, saya akan berkongsi langkah terperinci untuk memindahkan data dalam pangkalan data MySQL setempat anda kepada kejadian yang baru dibuat pada AWS RDS dengan MySQL.

Latar belakang

Saya bekerja pada projek tindanan penuh pada tahun 2023 di mana saya mengendalikan penggunaan pengeluaran pangkalan data saya dan bahagian belakang ke AWS secara manual. Awal tahun ini, saya menutup semua infrastruktur kerana saya mengumpul terlalu banyak kos bulanan dengan pangkalan data (tidak, terima kasih kepada saya terlebih peruntukan).

Sekarang, cepat ke bulan ini dan saya masih mempunyai banyak kredit AWS (faedah menjadi Pembina Komuniti) yang akan tamat tempoh menjelang akhir tahun. Saya cuba memulihkan projek saya hanya untuk menyedari ia tidak semudah yang saya sangkakan.

Pertama, saya tidak mencipta syot kilat dengan betul yang boleh saya gunakan untuk memulihkan data pengeluaran dan terus mendapat ralat akses. Saya juga diingatkan tentang betapa manualnya keseluruhan penggunaan dan bagaimana saya tidak mendokumentasikan mana-mana langkah yang saya ambil (saya juga tidak mengingatinya).

Itu adalah pengajaran yang dipelajari, jadi kali ini, saya mendokumentasikan keseluruhan proses. Selaras dengan salah satu pepatah dalam kursus Udemy yang saya tidak pernah habiskan:

'Anda perlu tahu untuk melaksanakan tugas secara manual sebelum meneruskan untuk mengautomasikannya'.

Oleh itu, saya mula-mula akan berkongsi langkah-langkah yang saya ambil untuk melaksanakan migrasi secara manual, dan dalam catatan berikut, saya akan menulis skrip untuk menyediakan infrastruktur dengan Terraform dan juga membuang data setempat ke dalam db jauh selepas berjaya pelancaran.

Ini juga merupakan sebahagian daripada projek berterusan saya sendiri untuk mengetahui lebih lanjut tentang CI/CD dengan membina saluran paip untuk mengautomasikan keseluruhan penggunaan projek.

A) Langkah Manual

1. Buat contoh DB baharu pada Amazon RDS

Kali ini, saya lebih berniat dan praktikal dengan konfigurasi. Walaupun ia adalah 'pengeluaran pengeluaran', saya masih memilih kos pengendalian yang paling murah kerana ia bukan produk langsung sebenar (ini juga mempengaruhi beberapa pilihan keselamatan yang saya pilih untuk tidak tambah).

Saya telah meringkaskan pilihan yang saya pilih dalam wizard 'Buat Pangkalan Data' di bawah:

AWS Region: eu-west-2
Database creation method: Standard Create
Engine type/edition/version: MySQL/MySQL Community/MySQL 8.0.35
Use case template: Free Tier
Credential settings: define these as you'd prefer
DB instance class: db.t3.micro
Storage: gp2, 20GB, auto-scaling enabled up to 100GB
Connectivity: 
    - define these for your specific use-case; I chose not to use an EC2
    - Public access: Yes, because I wanted to connect to the database locally via MySQL Workbench
Database authentication: Password auth
Additional configuration:
    - I created one database from here; but you can also leave it blank and create one when you get access via Workbench
Others: 
    - use default options or modify for your use-case
Deletion protection:
    - enabled (to dissuade myself from deleting easily like the last time)

Anggaran kos bulanan:

Migrate Your Local MySQL Database to AWS RDS

2. Sambungkan ke tika RDS secara tempatan

Selepas contoh berjaya dilancarkan, gunakan klien mysql untuk menyambung ke contoh. Ini menganggap anda telah memasang dan menjalankan pelayan MySQL anda.

Bermula dengan MySQL
Pelanggan MySQL

Anda juga memerlukan titik akhir contoh, dan nama pengguna serta kata laluan yang anda tentukan dalam tetapan bukti kelayakan, untuk menjalankan arahan ini:

mysql -h sample_endpoint.rds.amazonaws.com -u username_sample -p

Nota: Contoh anda akan dibuat dengan peraturan masuk dan keluar yang betul untuk kumpulan keselamatan VPC yang dipilih.

Walau bagaimanapun, jika anda menghadapi ralat semasa menyambung, sahkan bahawa alamat IP anda disertakan dalam sumber yang dibenarkan untuk peraturan masuk. Saya menghadapi isu yang sama apabila saya mencipta tika di lokasi tertentu dengan alamat IPnya dan apabila saya cuba menyambung dengan alamat IP lain di lokasi lain, sambungan tamat masa.

[Pilihan] Cipta pangkalan data anda
Jika anda melangkau langkah konfigurasi Tambahan semasa pembuatan contoh, anda boleh membuat satu pada langkah ini:

CREATE DATABASE sample_db;

3. Import data daripada pangkalan data tempatan anda

Untuk melakukan ini, anda perlu menggunakan arahan mysqldump terlebih dahulu untuk mengeksport skema dan data dalam db tempatan anda ke fail .sql dump:

mysqldump -u root -p local_db_name > sample_dump.sql

Nota: Jika anda menghadapi ralat semasa cuba mengeksport, lihat soalan saya di Stack Overflow dan juga jawapan yang boleh menyelesaikan beberapa isu yang mungkin berlaku.

Selepas itu, gunakan arahan mysql untuk mengimport fail dump ke contoh RDS anda:

mysql -h sample_endpoint.rds.amazonaws.com -u username_sample -p 
sample_db < sample_dump.sql

4. [Pilihan] Sambung ke contoh RDS anda melalui MySQL Workbench

Sahkan bahawa anda boleh menyambung ke tika tanpa masalah dan semak skema dan data di dalam pangkalan data untuk mengesahkan bahawa ia juga telah diimport dengan betul.

Tidak dapat menyambung?

  • Pastikan anda telah mengkonfigurasi tetapan akses awam dengan betul, atau
  • Gunakan tika EC2 untuk menyambung dengan selamat ke pangkalan data dan jalankan arahan sql anda melalui tika itu. Pastikan tika EC2 juga berada di dalam VPC tempat tika RDS berada.

Seterusnya ialah:

  • menerapkan ke App Runner dengan bukti kelayakan pangkalan data yang diperlukan daripada siaran ini (dan akses infrastruktur yang diperlukan),
  • skrip dengan Terraform sebaliknya, dan
  • membuat saluran paip CI/CD untuk mengemas kini kemas kini bahagian belakang dan bahagian hadapan pada masa hadapan.

Atas ialah kandungan terperinci Pindahkan Pangkalan Data MySQL Setempat Anda ke AWS RDS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1545
276
Bagaimana cara mengaudit aktiviti pangkalan data di MySQL? Bagaimana cara mengaudit aktiviti pangkalan data di MySQL? Aug 05, 2025 pm 01:34 PM

UsemysqliseauditpluginiPriseSpriseSpRingIponFigurationPonfigurationPonviSventSonPonfigurationShigurationShigurationShigurationShigurationShigurationWithServer-Audit = forcews_Plus_permanentAntoMizeSviSviSviAserver_events;

Mengoptimumkan MySQL untuk Penyimpanan Data Kewangan Mengoptimumkan MySQL untuk Penyimpanan Data Kewangan Jul 27, 2025 am 02:06 AM

MySQL perlu dioptimumkan untuk sistem kewangan: 1. Data kewangan mesti digunakan untuk memastikan ketepatan menggunakan jenis perpuluhan, dan DateTime digunakan dalam bidang masa untuk mengelakkan masalah zon waktu; 2. Reka bentuk indeks harus munasabah, mengelakkan kemas kini medan yang kerap untuk membina indeks, menggabungkan indeks dalam urutan pertanyaan dan indeks yang tidak berguna secara berkala; 3. Gunakan urus niaga untuk memastikan konsistensi, mengawal granulariti transaksi, elakkan urus niaga yang panjang dan operasi bukan teras yang tertanam di dalamnya, dan pilih tahap pengasingan yang sesuai berdasarkan perniagaan; 4. Partition Data Sejarah mengikut Masa, Arkib Data Sejuk dan Gunakan Jadual Mampat untuk meningkatkan kecekapan pertanyaan dan mengoptimumkan penyimpanan.

Menjamin MySQL dengan keistimewaan tahap objek Menjamin MySQL dengan keistimewaan tahap objek Jul 29, 2025 am 01:34 AM

Tosecuremysqleffectely, useObject-levelprivilygestestestigmilimitusAracCessBasedontheArtheirspecificNeeds.beginbyBySpelythatthatThatBje-levelprivileGeGsapplyTaDataBases, Tabel, orcolumns.

Mengoptimumkan MySQL untuk suapan data masa nyata Mengoptimumkan MySQL untuk suapan data masa nyata Jul 26, 2025 am 05:41 AM

Tooptimizemysqlforreal-timedatafeeds, firstChoosetheinnodbstorageenginfortransactionsandrow-levellocking, usememoryorrocksdbforthfforatarydata, dan partitiontime-SeriesDataByTime.Second, orderstrategybybyapplydeSdeAndeLyPlyDeSdeLyPlyDeSdeLySdeSdeLySdeSdeSdeLySdeSdeLySdeSdeLySdExteSdExteSdExteSdExteSdExteSdExteSdExteSdExteSdExteSdeShin

Amalan terbaik untuk menguruskan jadual mysql yang besar Amalan terbaik untuk menguruskan jadual mysql yang besar Aug 05, 2025 am 03:55 AM

Apabila berurusan dengan jadual besar, prestasi MySQL dan penyelenggaraan menghadapi cabaran, dan perlu bermula dari reka bentuk struktur, pengoptimuman indeks, strategi sub-meja jadual, dan sebagainya. 1. Gunakan indeks overlay untuk meningkatkan kecekapan pertanyaan; kerap menganalisis log pertanyaan perlahan dan memadam indeks tidak sah. 2. 3. Pertimbangkan pembacaan dan penulisan pemisahan dan pemisahan perpustakaan: Baca dan menulis pemisahan mengurangkan tekanan pada perpustakaan utama. Pemisahan perpustakaan dan pemisahan jadual sesuai untuk senario dengan sejumlah besar data. Adalah disyorkan untuk menggunakan middleware dan menilai masalah urus niaga dan masalah pertanyaan silang. Perancangan awal dan pengoptimuman berterusan adalah kunci.

Bagaimana cara menggunakan kekangan cek untuk menguatkuasakan peraturan data di MySQL? Bagaimana cara menggunakan kekangan cek untuk menguatkuasakan peraturan data di MySQL? Aug 06, 2025 pm 04:49 PM

MySQL menyokong kekangan cek untuk memaksa integriti domain, berkesan dari versi 8.0.16; 1. Tambah kekangan apabila membuat jadual: Gunakan createtable untuk menentukan syarat semak, seperti umur ≥18, gaji> 0, nilai had jabatan; 2. Ubah suai jadual untuk menambah kekangan: Gunakan altertableaddConstraint untuk mengehadkan nilai medan, seperti nama tidak kosong; 3. Menggunakan syarat-syarat yang kompleks: menyokong logik dan ekspresi multi-lajur, seperti tarikh akhir ≥ multart status dan status siap mesti mempunyai tarikh akhir; 4. Padam Kekangan: Gunakan alterTableDRopConstraint untuk menentukan nama untuk memadam; 5. Nota: Mysql8.0.16, InnoDB atau Myisam perlu disebutkan

Analisis kos-manfaat pangkalan data MySQL untuk penghijrahan awan Analisis kos-manfaat pangkalan data MySQL untuk penghijrahan awan Jul 26, 2025 am 03:32 AM

Sama ada MySQL bernilai bergerak ke awan bergantung kepada senario penggunaan tertentu. Jika perniagaan anda perlu dilancarkan dengan cepat, mengembangkan secara elastik dan memudahkan operasi dan penyelenggaraan, dan boleh menerima model bayar-as-you-go, kemudian bergerak ke awan adalah bernilai; Tetapi jika pangkalan data anda stabil untuk masa yang lama, latensi sensitif atau sekatan pematuhan, ia mungkin tidak kos efektif. Kekunci untuk mengawal kos termasuk memilih vendor dan pakej yang betul, mengkonfigurasi sumber yang munasabah, menggunakan contoh yang disediakan, menguruskan log sandaran dan mengoptimumkan prestasi pertanyaan.

Bagaimana untuk melaksanakan sistem penandaan dalam pangkalan data MySQL? Bagaimana untuk melaksanakan sistem penandaan dalam pangkalan data MySQL? Aug 05, 2025 am 05:41 AM

Useamany-to-manyrelationshipwithajunctionTableTolinkitemsandtagsviathreetables: item, tags, anditem_tags.2.WhenaddingTags, checkorexistingtagsinthetagstable, InsertIfnerary, thencreatemappingsinitem_TagsusterShanTaStranitem_TagsingTrans

See all articles