Rumah >pangkalan data >tutorial mysql >Mengautomasikan Sandaran MySQL ke Contoh AWS Sn Ubuntu: Panduan Langkah demi Langkah

Mengautomasikan Sandaran MySQL ke Contoh AWS Sn Ubuntu: Panduan Langkah demi Langkah

王林
王林asal
2024-08-31 22:30:32527semak imbas

Automating MySQL Backups to AWS Sn Ubuntu Instance: A Step-by-Step Guide

Dalam dunia dipacu data hari ini, sandaran pangkalan data tetap adalah penting untuk mana-mana perniagaan. Dalam panduan ini, kami akan melalui proses menyediakan sistem sandaran MySQL automatik pada pelayan Ubuntu, dengan keselamatan tambahan untuk menyimpan sandaran ini pada AWS S3. Sama ada anda seorang jurutera DevOps yang berpengalaman atau sysadmin pemula, tutorial ini akan membantu anda melindungi data berharga anda.

Perkara yang Akan Kami Liput

  1. Menyediakan persekitaran Ubuntu
  2. Memasang kebergantungan yang diperlukan
  3. Mengkonfigurasi bukti kelayakan AWS
  4. Membuat dan mengkonfigurasi skrip sandaran
  5. Menyediakan sandaran automatik dengan cron
  6. Menyelesaikan masalah biasa

Jom selami!

1. Menyediakan Persekitaran Ubuntu

Pertama, mari pastikan pelayan Ubuntu kami dikemas kini:

sudo apt update
sudo apt upgrade -y

2. Memasang Ketergantungan yang Diperlukan

Kami memerlukan Go, Git dan klien MySQL. Mari pasang:

sudo apt install golang-go git mysql-client -y

Sahkan pemasangan:

go version
git --version
mysql --version

3. Mengkonfigurasi Kredensial AWS

Sebelum kami meneruskan, pastikan anda mempunyai akaun AWS dan telah mencipta pengguna IAM dengan akses S3. Anda memerlukan ID kunci akses dan kunci akses rahsia untuk pengguna ini.

Kami akan menyimpan bukti kelayakan ini dalam fail .env kami, yang akan kami sediakan dalam langkah seterusnya. Kaedah ini lebih selamat dan fleksibel daripada menggunakan konfigurasi AWS CLI, terutamanya dalam persekitaran pelayan yang anda mungkin mempunyai berbilang aplikasi dengan bukti kelayakan AWS yang berbeza.

Nota: Walaupun kami tidak akan menggunakan AWS CLI untuk skrip sandaran kami, ia boleh berguna untuk menguji dan mengurus baldi S3 anda. Jika anda ingin memasangnya:

sudo apt install awscli -y

Ingat, kami tidak akan menjalankan konfigurasi aws kerana skrip kami akan menggunakan bukti kelayakan terus daripada fail .env.

4. Mencipta dan Mengkonfigurasi Skrip Sandaran

Sekarang, mari sediakan skrip sandaran kami:

  1. Klon repositori (ganti dengan URL repositori sebenar anda):
   git clone https://github.com/your-repo/mysql-backup.git
   cd mysql-backup
  1. Buat fail .env untuk menyimpan konfigurasi kami:
   nano .env
  1. Tambah kandungan berikut pada fail .env:
   DB_NAMES="database1,database2,database3"
   DB_USER="your_mysql_username"
   DB_PASS="your_mysql_password"
   DB_HOST="your_mysql_host"
   DB_PORT="3306"
   S3_BUCKET="your-s3-bucket-name"
   AWS_REGION="your-aws-region"
   AWS_ACCESS_KEY_ID="your-aws-access-key"
   AWS_SECRET_ACCESS_KEY="your-aws-secret-key"

Ganti ruang letak dengan pangkalan data sebenar anda dan maklumat AWS.

  1. Simpan dan keluar dari fail (dalam nano, tekan Ctrl+X, kemudian Y, kemudian Enter).

  2. Bina skrip Go:

   go build -o backup-script
  1. Jadikan skrip boleh laku:
   chmod +x backup-script

5. Menyediakan Sandaran Automatik dengan Cron

Sekarang skrip kami sudah sedia, mari kita mengautomasikannya dengan cron:

  1. Buka editor crontab:
   crontab -e

Jika digesa, pilih editor pilihan anda (nano ialah pilihan yang baik untuk pemula).

  1. Tambah baris berikut untuk menjalankan sandaran setiap hari pada 2 PG:
   0 2 * * * /path/to/your/backup-script >> /path/to/backup.log 2>&1

Ganti /path/to/your/backup-script dengan laluan penuh ke skrip anda.

  1. Simpan dan keluar dari editor.

Sandaran anda kini ditetapkan untuk dijalankan secara automatik setiap hari pada 2 PG!

6. Menyelesaikan masalah Isu Biasa

Walaupun dengan persediaan yang teliti, masalah boleh timbul. Berikut ialah beberapa masalah biasa dan penyelesaiannya:

Skrip Gagal Dijalankan

  • Semak kebenaran: Pastikan skrip boleh dilaksanakan (chmod +x backup-script).
  • Sahkan laluan: Pastikan semua laluan dalam tugas cron adalah mutlak.
  • Semak log: Lihat /var/log/syslog untuk ralat berkaitan cron.

Sandaran Pangkalan Data Gagal

  • Semak bukti kelayakan MySQL: Sahkan bahawa pengguna dalam fail .env anda mempunyai kebenaran yang diperlukan.
  • Uji sambungan MySQL: Cuba sambungkan ke MySQL secara manual untuk memastikan hos dan port adalah betul.

Muat Naik S3 Gagal

  • Sahkan bukti kelayakan AWS: Semak semula kunci akses dan rahsia AWS anda dalam fail .env.
  • Semak baldi S3: Pastikan baldi S3 yang ditentukan wujud dan boleh diakses.
  • Isu wilayah: Pastikan rantau AWS dalam fail .env anda sepadan dengan rantau baldi S3 anda.

Cron Job Tidak Berjalan

  • Semak perkhidmatan cron: Pastikan perkhidmatan cron sedang berjalan (status cron perkhidmatan sudo).
  • Sahkan entri crontab: Semak sama ada entri crontab adalah betul (crontab -l).
  • Isu laluan: Gunakan laluan penuh dalam entri crontab anda untuk kedua-dua skrip dan sebarang arahan yang digunakannya.

Kesimpulan

Tahniah! Anda kini telah menyediakan sistem automatik untuk membuat sandaran pangkalan data MySQL anda kepada AWS S3 pada pelayan Ubuntu anda. Persediaan ini menyediakan penyelesaian sandaran luar tapak yang teguh yang boleh menjadi penyelamat sekiranya berlaku kehilangan data.

Ingat untuk menguji sandaran anda secara berkala dengan cuba memulihkan daripadanya. Ini memastikan proses sandaran anda berfungsi dengan betul dan anda sudah biasa dengan proses pemulihan jika anda memerlukannya.

Dengan mengikuti panduan ini, anda telah mengambil langkah penting dalam melindungi data berharga anda. Teruskan meneroka dan memperhalusi strategi sandaran anda untuk memastikan keselamatan dan integriti maklumat anda.

Selamat membuat sandaran!

Atas ialah kandungan terperinci Mengautomasikan Sandaran MySQL ke Contoh AWS Sn Ubuntu: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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