Data adalah mata uang dari aplikasi web, seluler, sosial, perusahaan, dan cloud saat ini dan memastikan data selalu tersedia adalah prioritas utama untuk setiap organisasi yang mendukung secara digital – menit waktu henti akan, jika berhadapan dengan klien, mengakibatkan hilangnya pendapatan secara signifikan dan . Dalam kasus sistem data internal, waktu henti apa pun dapat berdampak serius pada produktivitas, kemampuan untuk membuat keputusan berdasarkan informasi data, dan bahkan berpotensi terhadap kelangsungan operasi Show
Metode berbagi data bukanlah hal baru tetapi generasi berikutnya dari layanan web, cloud, dan komunikasi serta persyaratannya untuk skalabilitas, waktu aktif, dan ketangkasan tanpa kompromi telah memperkenalkan tantangan basis data baru Dalam studi kasus teknis ini, kami akan memandu Anda melalui proses langkah-demi-langkah menginstal dan menyiapkan MySQL InnoDB Cluster dan menghubungkan Router MySQL dalam konteks pengembangan aplikasi bertenaga data besar untuk pemantauan pembangkit energi surya dan Konteks – solusi pemantauan & pengelolaan energi PV berbasis data besarKlien kami adalah perintis dan perusahaan terkemuka dalam pemantauan PV (fotovoltaik), energi cerdas, dan manajemen umpan di seluruh daya dan pemanas terbarukan. Perusahaan ini menawarkan solusi pemantauan dan manajemen profesional untuk pembangkit listrik PV di seluruh dunia, yang memungkinkan pengelolaan pembangkit individual dalam armada dan untuk pembangkit yang akan disortir dan tampilan yang diadaptasi sesuai dengan kebutuhan kelompok pengguna. Analisis kesalahan terperinci dan penjagaan pemecahan masalah yang cepat terhadap kehilangan hasil tanaman, mengamankan investasi. Pengguna mendapat manfaat dari efisiensi waktu dan anggaran Komunikasi mulus antara WEB, pencatat data, dan masing-masing komponen memastikan identifikasi masalah secara tepat waktu, melindungi tingkat hasil. Pengguna yang mudah digunakan dan manajemen sistem menawarkan opsi ekstensif untuk memfilter, mengelompokkan, dan melihat secara tepat sesuai dengan kebutuhan dan keinginan masing-masing pengguna, baik berdasarkan wilayah, jenis sistem, kontrak layanan, atau spesifikasi lainnya Penyajian data terstruktur berarti pengguna tidak pernah kehilangan ikhtisar. Dan kompilasi informasi sistem individual yang cerdas dan real-time memungkinkan analisis kesalahan yang cepat, pemecahan masalah yang lebih cepat, dan pada akhirnya, alur kerja yang lebih lancar dan pengoptimalan hasil Keandalan Database Sangat PentingSifat dari sistem pemantauan dan manajemen pembangkit PV klien kami berarti aliran data yang aman dan andal sangatlah penting. Bagian dari tugas kami adalah memastikan hal itu dan keputusan dibuat untuk melakukannya dengan menggunakan cluster MySQL InnoDB Solusinya?Cluster MySQL InnoDB adalah solusi Oracle High Availability yang diinstal melalui MySQL dengan kemampuan multi-master dan failover otomatis untuk ketersediaan tinggi. Ini memungkinkan replikasi basis data yang meningkatkan toleransi kesalahan dengan memastikan kegagalan satu bagian infrastruktur tidak pernah terbukti fatal karena cadangan data yang direplikasi dapat ditarik dari bagian lain infrastruktur Saat membangun sistem yang sangat mudah diakses dan toleran terhadap kesalahan, kami membuat titik di infrastruktur tempat data digandakan. Duplikasi data meningkatkan ketersediaannya jika terjadi masalah dengan sebagian infrastruktur dan mempercepat proses penulisan atau pembacaan data Duplikasi data paling umum terjadi di bagian infrastruktur berikut
Studi kasus teknis ini menimbulkan pertanyaan tentang bagaimana mengatur database MySQL terdistribusi untuk toleransi kesalahan dengan meningkatkan jumlah replikasi database yang tersedia Tujuan kami adalah mencapai ini murni melalui MySQL tanpa menggunakan perangkat lunak pihak ketiga Hasilnya adalah sekelompok 4 server, 1 titik masuk (router MySQL) dan 3 server penyimpanan data (1 master dan 2 sekunder) Diagram Cluster MySQL InnoDBSaat memulai instalasi, kami menggunakan 3 server untuk MySQL secara langsung dan 1 server untuk terhubung ke cluster kami – router MySQL Server MySQL Shell 10.10.10.1 10.10.10.2 10.10.10.3 Server router Shell 10.10.10.10_ OS Centos 7 c menonaktifkan selinux dan firewalld. MySQL akan menggunakan versi 5. 7 Hubungkan repositori Shell rpm -i https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm Matikan versi 8 dan nyalakan 5. 7 Shell yum install yum-utils yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community yum repolist yum install mysql-community-server mysql-shell Rules /etc/my.cnf Shell [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid bind-address=0.0.0.0 port=3301 # Replication part server_id=1 gtid_mode=ON enforce_gtid_consistency=ON master_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE log_slave_updates=ON log_bin=binlog binlog_format=ROW plugin-load = group_replication.so # Group replication part transaction_write_set_extraction=XXHASH64 loose-group_replication_start_on_boot = OFF loose-group_replication_local_address = 10.10.10.1:33011 loose-group_replication_bootstrap_group = OFF report_port = 3301 report_host = 10.10.10.1 Kami menggantung Mysql di port 3301, tempat pertukaran data antar server cluster Kami kemudian membawa file /etc/my. cnf ke formulir ini di ketiga server cluster, ubah IP dalam variabel loose-group_replication_local_address dan report_host , dan juga ubah server_id – itu unik untuk setiap server Dan mulai MySQL dan lakukan pengaturan awal Shell systemctl start mysqld grep 'password' /var/log/mysqld.log mysql_secure_installation_ Kami sekarang mulai membuat cluster. Pertama, kami akan membuat pengguna cladmin di ketiga server, untuk ini kami akan menggunakan konsol MySQLh Shell [[email protected] ~] mysqlsh > \c 127.0.0.1:3301 > dba.configureLocalInstance("127.0.0.1:3301", {mycnfPath: "/etc/my.cnf", clusterAdmin: "cladmin", clusterAdminPassword: "StrongPassword!#1"}) > \c [email protected]:3301 > dba.checkInstanceConfiguration() > cl=dba.createCluster('TestCluster', {ipWhitelist: '10.10.10.1,10.10.10.2,10.10.10.3'}) > dba.configureLocalInstance() > cl.status() Output dari cl. status () seharusnya seperti ini Shell MySQL 10.10.10.1:3301 ssl JS > cluster.status() { "clusterName": "TestCluster", "defaultReplicaSet": { "name": "default", "primary": "10.10.10.1:3301", "ssl": "REQUIRED", "status": "OK_NO_TOLERANCE", "statusText": "Cluster is NOT tolerant to any failures.", "topology": { "10.10.10.1:3301": { "address": "10.10.10.1:3301", "mode": "R/W", "readReplicas": {}, "role": "HA", "status": "ONLINE" } }, "topologyMode": "Single-Primary" }, "groupInformationSourceMember": "mysql://[email protected]:3301" }_ Saat kami melakukan perubahan pada konfigurasi cluster, pastikan untuk menjalankan perintah Shell > dba.configureLocalInstance() Kami melakukan tindakan serupa di ketiga server, jangan lupa untuk menulis IP dan ID yang benar di /etc/my. cnf (server_id, loose-group_replication_local_address, report_host) Setelah langkah sebelumnya dilakukan pada node yang kami sambungkan (server ke-2 dan ke-3 dalam contoh kami), kami mengeksekusi Shell [[email protected] ~] mysql -p > set GLOBAL group_replication_allow_local_disjoint_gtids_join=ON; Shell [[email protected] ~] mysqlsh > \c 127.0.0.1:3301 > dba.configureLocalInstance("127.0.0.1:3301", {mycnfPath: "/etc/my.cnf", clusterAdmin: "cladmin", clusterAdminPassword: "StrongPassword!#1"}) > \c [email protected]:3301 > dba.checkInstanceConfiguration()_ Setelah prosedur ini di server kedua, kami kembali ke server pertama Shell [[email protected] ~] mysqlsh --uri [email protected]:3301 --cluster > cluster.addInstance('[email protected]:3301', {ipWhitelist: '10.10.10.1,10.10.10.2,10.10.10.3'}) > cluster.status() > dba.configureLocalInstance()_ Kami juga menjalankan dba. configureLocalInstance () di server kedua Keluaran klaster. status () harus seperti ini Shell 10.10.10.10_0 Tambahkan server ke-3 dengan cara yang sama Jika kami perlu memperluas cluster ke 5 server atau lebih, kami perlu mengedit daftar putih. Ini dapat dilakukan melalui MySQLh (MySQL Shell) dengan masuk ke mode sql atau langsung di /etc/my. cnf (jangan lupa untuk me-restart daemon mysql) Contoh cara melakukannya menggunakan konsol MySQLh (bergantian di setiap node RW) Shell 10.10.10.10_1 Setelah menambahkan semua 3 server, cluster. status () akan mengembalikan yang berikut ini Shell 10.10.10.10_2 Jika cluster berantakan ke keadaan satu server, itu harus dimulai dengan loose-group_replication_bootstrap_group = ON parameter di /etc/my. cnf Setelah memulai, parameter perlu dimatikan lagi, jika tidak, server ini akan selalu terpisah dari cluster dan bekerja secara mandiri Konfigurasi Router MysqlTambahkan lobak dan masukkan paket Shell 10.10.10.10_3 Buat direktori untuk file konfigurasi cluster kami Shell 10.10.10.10_4 Kami akan melakukan konfigurasi menggunakan bootstrap , saat menentukan alamat IP, Anda harus menentukan alamat server RW saat ini Shell 10.10.10.10_5 Hasil dari konfigurasi yang sukses, output Shell 10.10.10.10_6 Informasi koneksi berikut dapat digunakan untuk terhubung ke cluster setelah MySQL Router dimulai dengan konfigurasi yang dihasilkan Koneksi protokol MySQL klasik ke cluster 'TestCluster' Koneksi Baca/Tulis. localhost. 6446 – Koneksi Baca/Hanya. localhost. Koneksi protokol 6447 X ke cluster 'TestCluster'. – Baca/Tulis Koneksi. localhost. 64460 – Koneksi Baca/Hanya. localhost. 64470 Port 6446 – untuk koneksi RW Port 6447 – untuk koneksi RO Buat file layanan systemd untuk memulai router mysql dengan file konfigurasi yang kami hasilkan Shell 10.10.10.10_7 Nyalakan saat startup dan jalankan router kami Shell 10.10.10.10_8 Memeriksa Shell 10.10.10.10_9 Kesimpulan – ketersediaan tinggi & basis data yang toleran terhadap kesalahanPilihan MySQL InnoDB Cluster telah terbukti sangat kuat dan cara yang sangat efektif untuk mencapai tingkat ketersediaan dan toleransi kesalahan yang diperlukan untuk pemantauan dan pengelolaan hasil pembangkit tenaga surya yang efektif. Kami berharap kombinasi kasus penggunaan bisnis dan panduan instalasi langkah demi langkah teknis menyoroti kapan dan di mana MySQL InnoDB Cluster dapat menjadi solusi yang tepat untuk solusi perangkat lunak yang berpusat pada basis data dalam menyelesaikan tantangan ketersediaan dan toleransi kesalahan Bagaimana cara saya terhubung ke kluster InnoDB?Membuat Kluster InnoDB . Sambungkan ke instans MySQL yang ingin Anda jadikan instans utama di Cluster InnoDB dengan menerbitkan. mysql-js> shell. . Keluarkan dba. createCluster() perintah untuk membuat Cluster, dan menggunakan cluster variabel yang ditugaskan untuk menyimpan nilai yang dihasilkan. mysql-js> kluster = dba Apa itu klaster MySQL InnoDB?Sebuah InnoDB Cluster terdiri dari setidaknya tiga instance MySQL Server, dan menyediakan fitur penskalaan dan ketersediaan tinggi . InnoDB Cluster menggunakan teknologi MySQL berikut. MySQL Shell, yang merupakan klien tingkat lanjut dan editor kode untuk MySQL.
Bagaimana cara mengatur MySQL cluster Linux?Langkah 1 — Menginstal dan Mengonfigurasi Cluster Manager. Pertama-tama kita akan mulai dengan mendownload dan menginstal MySQL Cluster Manager, ndb_mgmd. . Langkah 2 — Menginstal dan Mengonfigurasi Node Data. . Langkah 3 — Mengonfigurasi dan Memulai Server dan Klien MySQL. . Langkah 4 — Memverifikasi Instalasi MySQL Cluster Bagaimana cara membuat cluster database di MySQL?Mengimpor Cluster Ke MySQL Cluster Manager. Prosedur Dasar Mengimpor Cluster Ke MySQL Cluster Manager. Contoh. Membuat dan Mengonfigurasi Cluster Target. Menyiapkan Cluster Mandiri untuk Migrasi. Verifikasi Semua File PID Proses Cluster. Menguji dan Memigrasikan Cluster Mandiri |