MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Cara Meningkatkan dari MariaDB 10.4 ke MariaDB 10.5

MariaDB 10.5 dirilis sebagai GA pada Juni 2020. Dalam rilis tersebut, telah ditambahkan dukungan untuk Amazon S3 atau cloud publik atau pribadi pihak ketiga mana pun yang mendukung S3 API. Ini juga memiliki fitur penanganan yang canggih untuk hak istimewa yang memperluas granularitasnya yang memungkinkan DBA misalnya untuk memberikan hak istimewa terbatas pada pengguna basis data tertentu untuk keamanan yang ketat dari basis data Anda.

MariaDB 10.5 juga membanggakan peningkatannya dengan mesin penyimpanan InnoDB untuk kinerjanya dan beberapa variabel baru juga disajikan tetapi variabel utama yang tidak digunakan lagi telah ditandai tidak digunakan lagi atau dihapus sama sekali. Misalnya, perhatikan bahwa di MariaDB 10.5, innodb_buffer_pool_instances telah ditandai sebagai tidak digunakan lagi saat disetel untuk dihapus di versi 10.6. Jika Anda penasaran dengan alasan apa pun yang mereka katakan, silakan periksa MDEV-15058.

Dengan semua perubahan ini, sebaiknya berikan blog ini untuk memberikan panduan tentang cara meningkatkan versi MariaDB 10.4 ke MariaDB 10.5. Kami akan membahasnya selangkah demi selangkah tentang hal-hal apa saja yang perlu Anda pertimbangkan untuk meningkatkan versi.

Hal-hal yang Anda Butuhkan Sebelum Meningkatkan

Ini tidak selalu merupakan metode terbaik untuk memutakhirkan database Anda secara langsung dalam produksi tanpa melakukan tes. Jargon sederhana ini mendefinisikan istilah yang kita sebut SNAFU. Anda mungkin menekan Google untuk menemukan istilah tersebut tetapi pada dasarnya, selalu yang terbaik untuk tidak menyentuh kesehatan normal terutama sistem yang berfungsi normal. Namun, tidak selalu sistem Anda harus tetap konstan, sistem harus ditingkatkan untuk memanfaatkan patch keamanan, perbaikan bug, dan fitur lanjutan yang ada pada rilis versi yang lebih baru. Jadi dalam hal ini, Anda selalu memiliki mekanisme failback yang direncanakan dan disiapkan sebelum peningkatan. Jika pemutakhiran sistem menemukan masalah yang tidak diperhatikan, hal itu dapat berdampak pada bisnis Anda.

Selalu Buat Cadangan Basis Data Anda

Dalam hal ini, selalu sediakan cadangan untuk data Anda. Anda dapat menggunakan alat seperti mariabackup atau mydumper atau, jika Anda adalah pengguna ClusterControl, gunakan alat Manajemen Pencadangan Database. Jika Anda belum siap dengan jenis cadangan yang Anda butuhkan, Anda mungkin harus memeriksa praktik terbaik saat mengambil cadangan.

Uji...Uji... dan Uji Lagi

Meskipun pencadangan menyediakan data untuk diumpankan jika Anda perlu memulihkan ke status utamanya jika terjadi masalah yang tidak terduga, pemutakhiran ke rilis utama harus diuji terlebih dahulu ke mesin pengembangan atau pementasan. Untuk perusahaan perusahaan besar, praktik umum untuk selalu melakukan uji regresi pada lingkungan QA yang ditargetkan atau lingkungan pementasan di mana pemutakhiran server basis data ke versi utamanya harus diterapkan terlebih dahulu. Semua sistem dari aplikasi dan database harus menjalani uji regresi atau serangkaian pengujian QA sampai semuanya lulus. Bukan ide yang baik untuk menyederhanakan kasus uji aplikasi Anda ke sistem basis data dan mengesampingkan bahwa semuanya baik-baik saja selama basis data tidak macet atau hanya terbukti dalam waktu singkat di mana pengujian dilakukan singkat, tes yang sangat sederhana yang hanya mencakup sebagian kecil dari keseluruhan sistem Anda. Menguji pemutakhiran Anda terlebih dahulu pada lingkungan pementasan atau QA harus diprioritaskan sehingga harus mencapai bentuk aplikasi yang sangat baik tanpa memengaruhi sisi bisnis dan juga pengguna yang akan menggunakan aplikasi Anda, daripada terlambat menyadari bahwa pemutakhiran basis data menyebabkan sistem Anda berperilaku tidak normal karena perubahan yang belum Anda temukan.

Siapkan Prosedur Pemulihan

Semuanya harus direncanakan selama pemutakhiran basis data Anda. Setiap kali cadangan tersedia dan pengujian menunjukkan hasil yang kuat dan menjanjikan, selalu terasa aman dan dapat diprediksi jika terjadi tantangan tak terduga saat memutakhirkan server database MariaDB produksi Anda. Dalam hal ini, selalu tulis dan siapkan prosedur yang membuat semuanya kembali normal dengan lancar dan mulus.

Jika periode pemeliharaan Anda tidak terlalu lama, menyiapkan prosedur pemulihan menggunakan alat otomatis seperti Ansible, Chef, Puppet, SaltStack, atau Terraform dapat menjadi pilihan yang baik untuk prosedur pemulihan. Ini meminimalkan kesalahan manusia dan memberikan kecepatan dan kelincahan untuk melakukan tugas-tugas vital. Meskipun mungkin rusak jika satu kesalahan dapat ditemukan jika skrip otomatisasi gagal, maka itu juga berarti Anda tidak dapat mengabaikan kemungkinan hal ini dapat terjadi. Oleh karena itu, hal ini juga menunjukkan bahwa pemulihan harus mulus dan telah diuji dengan benar sehingga dapat mengembalikan ke prosedur yang valid.

Prosedur Peningkatan MariaDB

Memutakhirkan MariaDB versi 10.4 ke 10.5 bukanlah hal yang merepotkan namun mudah. Berikut adalah langkah-langkah yang dapat Anda ikuti untuk meningkatkan ke versi MariaDB 10.5 terbaru.

Siapkan Repositori Anda

Dapat dimengerti bahwa Anda memiliki MariaDB 10.4, jadi diasumsikan bahwa ada repositori saat ini di node server MariaDB Anda saat ini. Jika tidak, Anda tetap dapat menambahkan repositori dan itu sederhana.

Ubuntu/Debian

Untuk sistem berbasis Ubuntu/Debian, untuk repositori mariadb yang ada, Anda dapat mengedit repositori. Anda mungkin dapat memverifikasi apakah repositori yang ada ada di host Anda atau menemukan apakah ada repositori MariaDB di suatu tempat. Untuk melakukannya, cukup,

$ grep ^[^#] /etc/apt/sources.list /etc/apt/sources.list.d/*

Biasanya, Anda memiliki  repositori mariadb.list. Dalam pengaturan saya di Ubuntu 18.0 (Bionic), ini menunjukkan sebagai berikut:

[email protected]:/vagrant# cat /etc/apt/sources.list.d/mariadb.list

deb [arch=amd64] http://ftp.osuosl.org/pub/mariadb/repo/10.4/ubuntu bionic main

Cukup jalankan baris perintah berikut untuk menambahkan repositori MariaDB 10.5,

 . /etc/os-release

sudo echo "deb [arch=amd64] http://ftp.osuosl.org/pub/mariadb/repo/10.5/${ID} ${VERSION_CODENAME}  main" >> /etc/apt/sources.list.d/mariadb.list

Sebelum paket MariaDB dapat diinstal,  paket yang akan diinstal harus diimpor dengan kunci publik GPG yang digunakan untuk memverifikasi tanda tangan digital paket dalam repositori mereka. Anda dapat memeriksa kunci apt Anda dengan yang berikut ini,

$ apt-key list |grep -C2 -i 'mariadb'

Jika kunci tidak diimpor, 

$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

atau untuk versi berbasis Ubuntu/Debian yang lebih baru yaitu dimulai dengan Debian 9 (Stretch), dan Debian Unstable (Sid), dan Ubuntu 16.04 LTS (Xenial),

$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Setelah selesai, jalankan saja

$ sudo apt update

CentOS/RHEL

Untuk CentOS/RHEL, jika Anda memiliki repositori yang ada, Anda bisa menambahkan atau mengedit file. Jika tidak, menambahkan baris di bawah ini untuk repositori MariaDB 10.5 akan mencukupi persyaratan repositori (lihat mariadb.repo). Misalnya, saya memiliki mariadb.repo berikut di host CentOS 8.0 saya.

[[email protected] ~]# cat /etc/yum.repos.d/mariadb.repo

[mariadb]

name = MariaDB Repository

baseurl = http://yum.mariadb.org/10.4/centos8-amd64

enabled = 1

gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck = 1



[mariadb_10.5]

name = MariaDB Repository For 10.5

baseurl = http://yum.mariadb.org/10.5/centos8-amd64

enabled = 1

gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck = 1

Anda dapat memverifikasi apakah repositori MariaDB diaktifkan dan berfungsi dengan baik:

[[email protected] ~]# dnf --disablerepo=* --enablerepo=mariadb_10.5 repolist 

repo id                                repo name                                              status

mariadb_10.5                           MariaDB Repository For 10.5                            83

Tingkatkan Paket MariaDB Anda

Memutakhirkan dengan MariaDB sangat mudah. Pastikan Anda telah mematikan server MariaDB dengan benar terlebih dahulu.

Untuk server produksi yang sibuk dan aktif, pastikan Anda tidak memiliki koneksi masuk dan halaman kotor di-flush ke disk dengan benar. Sebelum mematikan server, Anda dapat mengatur flushing halaman kotor dengan mesin penyimpanan Innodb Anda secara agresif sehingga semua halaman kotor semua terhapus dan membuat proses shutdown lebih cepat,

set global innodb_max_dirty_pages_pct = 0;

Kemudian pantau halaman kotor berikut ini,

$ mysqladmin ext -i10 | grep dirty

| Innodb_buffer_pool_pages_dirty                         | 0                                                |

| Innodb_buffer_pool_bytes_dirty                         | 0                                                |

Setelah bagus, matikan instance MariaDB,

systemctl stop mariadb

Untuk kluster database master/replika, praktik yang baik adalah selalu memulai pemutakhiran pada replika. Jadi sebelum upgrade dan setelah shutdown, pastikan Anda telah menambahkan yang berikut ini di file konfigurasi my.cnf Anda,

[mysqld]

….

skip-slave-start

Ini memungkinkan Anda untuk menghindari memulai utas replikasi secara otomatis saat server MariaDB dimulai. Ini memberi Anda lebih banyak keamanan dan menghindari kesalahan lebih lanjut dalam replikasi. Hanya mulai utas replikasi secara manual setelah siap dengan pernyataan berikut,

START SLAVE;

Ubuntu/Debian

Memutakhirkan dengan sistem berbasis Ubuntu/Debian cukup mudah,

sudo apt install --only-upgrade  mariadb-server mariadb-client mariadb-backup mariadb-common

Tentu saja, jangan berikan opsi -y agar Anda dapat meninjau paket berikut untuk diperbarui.

Centos/RHEL

Sama seperti sistem berbasis Ubuntu/Debian, CentOS/RHEL juga tidak menunjukkan kerumitan untuk memutakhirkan versi MariaDB 10.4 Anda saat ini. Anda dapat menjalankan perintah berikut di bawah ini untuk mencukupi prosesnya,

$ dnf --disablerepo=* --enablerepo=mariadb_10.5 upgrade Mariadb-server MariaDB-client MariaDB-backup MariaDB-common Mariadb-shared

Pasca Instalasi/Upgrade Paket

Setelah paket ditingkatkan. Karena ini adalah peningkatan besar, jangan lupa untuk memuat ulang daemon untuk systemd. Jalankan saja,

$ systemctl daemon-reload

Sekarang setelah Anda siap, mulai layanan mariadb

$ systemctl start mariadb

 dan jalankan mysqld_upgrade,

$ mysql_upgrade 

Saat menjalankan mysql_upgrade, selalu pantau log kesalahan sehingga Anda dapat mengetahui kesalahan apa pun sebelum menjalankan dan memulai semuanya untuk operasi normal Anda:

tail -5f /var/log/mariadb/mariadb.log

Kiat Upgrade untuk Pengguna ClusterControl

Karena ClusterControl tidak menyediakan pemutakhiran versi utama, saat melakukan pemutakhiran paket, selalu jangan lupa untuk mematikan mode pemulihan otomatis untuk klaster MariaDB Anda. Setel node ke mode pemeliharaan sehingga lansiran tidak terdengar dan tidak ada lansiran palsu yang akan diberitahukan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Enkripsi Basis Data:Mengapa dan Di Mana Anda Perlu Memiliki Enkripsi Data

  2. Meningkatkan Kinerja dengan Menggunakan Pemisahan Baca Tulis dari Lalu Lintas Basis Data dengan Moodle 3.9

  3. Cara Menginstal dan Mengamankan MariaDB di CentOS 7

  4. MariaDB JSON_MERGE_PRESERVE() Dijelaskan

  5. Benchmarking Manual Database Deployment vs Deployment Otomatis