Cara menggunakan biner sisipan mysql

MySQL adalah salah satu server database paling populer di dunia. MySQL memiliki sejarah panjang, sejak tahun 1979 (hey, sudah lahir belum?), yang kemudian mulai digunakan untuk pengembangan aplikasi berbasis web pada tahun 1994. MySQL diakuisisi oleh Oracle pada tahun 2008, kemudian MySQL membuat branding sendiri, masih open source, dengan branding nama MariaDB. Akuisisi MySQL oleh Oracle dikatakan karena Oracle merasa kompetitif. Meskipun jelas, pangsa pengguna berbeda. Oracle vs MySQL sering dianalogikan seperti truk vs sedan. Sedan akan benar-benar melaju kencang di jalan kecil, dengan muatan yang pas. Oracle tanpa data tidak akan secepat mobil sedan. Namun saat semuanya diberi beban besar, sedan tersebut akan langsung turun performa dengan cepat, dan Oracle tetap tidak akan berubah

MySQL/MariaDB masih populer di kalangan developer saat ini, meskipun sudah banyak bermunculan database server lain, baik model SQL maupun No-SQL. Aplikasi CMS web yang banyak digunakan seperti WordPress, Joomla, atau CMS akademik seperti Moodle, OJS, masih mendukung MySQL. Bahkan cPanel masih mendukung database server MySQL saja. Untuk eCampuz, sebagian besar aplikasi menggunakan MySQL sebagai database servernya, baik aplikasi utama seperti eAkademik, maupun aplikasi yang digunakan untuk mendukung akademik seperti Eprints, atau aplikasi Website Moodle dan CMS

Mengetahui MySQL Binlog (MySQL Binary Logs)

Sebagai software layanan penyimpanan data, MySQL masih memiliki resiko masalah pada data. Baik data yang terhapus karena human error, atau data yang bermasalah karena hardware error, atau segudang potensi insiden lainnya. Untuk itu, dan beberapa hal lainnya, MySQL membuat beberapa skema untuk memudahkan pemulihan data. Salah satunya adalah Log Biner, atau Binlog. Binlog dirancang untuk memfasilitasi pencatatan transaksi

Ketika kita membuat database, membuat tabel, mengisi tabel, menghapus record, drop table, maka semua proses tersebut akan tersimpan di MySQL Binlog. Sehingga segala macam transaksi bisa dikembalikan saat dibutuhkan, atau bisa ditiru di tempat lain. Benar sekali, salah satu tujuan besar dari MySQL Binlog sendiri adalah replikasi database, yaitu membuat duplikat database di seluruh server. Server yang berbeda. Apakah akan menyenangkan jika kita menceritakan kisah ini suatu hari nanti?

Logging biner akan merekam seluruh proses transaksi data ke dalam file binlog. Lokasi file binlog ini ada di mysql datadir. Secara default, pada OS Linux, mysql datadir ada di /var/lib/mysql. Nah berikut adalah cara melihat lokasi datadir...

1

2

3

4

5

6

7

mysql> pilih @@datadir;

+-------- -------------------------------------+

. @@datadir       .

+-------- -------------------------------------+

. /var/lib/ mysql/ .

+-------- -------------------------------------+

1 baris di set (0. 00 dtk)

Di datadir, semua log biner, file ibdata, direktori database, dan log disimpan. Basis data di MySQL akan ditempatkan dalam folder yang berisi file yang mewakili struktur tabel, indeks, dan data. Jika dilihat dari struktur tabelnya juga akan terlihat seperti ini misalnya

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

[bimo@ecampuz ~]$ ls -alh /var/lib/mysql/

total 6. 8G

drwxr-xr-x 16 mysql mysql 4. 0K Mar 1 06. 45 .

drwxr-xr-x. 19 akar akar 4. 0rb Mar 1 04. 02 . .

.

.

.

.

-rw-rw---- 1 mysql mysql 746M Mar 1 10. 16 ibdata1

-rw-rw---- 1 mysql mysql 5. 0M Mar 1 10. 16 ib_logfile0

-rw-rw---- 1 mysql mysql 5. 0M Mar 1 10. 16 ib_ filelog1

.

.

.

.

drwx------ 2< /a> mysql mysql 4. 0rb Agustus 16 2017 mysql

-rw-rw---- 1 mysql mysql 201M Feb 22 06. 45 mysql-bin. 001047

-rw-rw---- 1 mysql mysql 202M Feb 22 12. 30 mysql-bin. 001048

-rw-rw---- 1 mysql mysql 202M Feb 22 18. 05 mysql-bin. 001049

-rw-rw---- 1 mysql mysql 201M Feb 22 23. 55 mysql-bin. 001050

-rw-rw---- 1 mysql mysql 35M Feb 23 01. 00 mysql-bin. 001051

-rw-rw---- 1 mysql mysql 201M Feb 23 06. 45 mysql-bin. 001052

-rw-rw---- 1 mysql mysql 201M Feb 23 12. 35 mysql-bin. 001053

-rw-rw---- 1 mysql mysql 202M Feb 23 18. 25 mysql-bin. 001054

-rw-rw---- 1 mysql mysql 201M Feb 24 00. 15 mysql-bin. 001055

-rw-rw---- 1 mysql mysql 23M Feb 24 01. 00 mysql-bin. 001056

-rw-rw---- 1 mysql mysql 201M Feb 24 06. 45 mysql-bin. 001057

-rw-rw---- 1 mysql mysql 201M Feb 24 12. 35 mysql-bin. 001058

-rw-rw---- 1 mysql mysql 202M Feb 24 18. 25 mysql-bin. 001059

.

.

.

File dengan nama mysql-bin. Xxxx adalah tampilan MySQL Binlog

Mengaktifkan Binlog MySQL

Apakah MySQL Binlog perlu diaktifkan? . MySQL Binary Logs dapat diaktifkan dan dinonaktifkan. Konfigurasi aktivasi ada di konfigurasi umum MySQL kami

  1. Windows. -ku. ini (lokasi sesuaikan direktori aplikasi)
  2. CentOS. /etc/my. cnf (termasuk untuk mariadb)
  3. MySQLDebian. /etc/mysql/mysql. conf. d/mysqld. cnf
  4. MariaDB Debian. /etc/mysql/mysql. conf. d/50-server. cnf
  5. MySQLUbuntu. /etc/mysql/mysql. conf. d/mysqld. cnf
  6. Maria DB Ubuntu. /etc/mysql/mysql. conf. d/50-server. cnf

Lokasi konfigurasi MySQL Binlog ada di bagian variabel

1

2

3

log-bin=mysql-bin

max_binlog_size=200 jt

expire_logs_days=7

Mari kita bahas tiga baris di atas

  1. log-bin, dapat diisi dengan nama log biner yang akan digunakan. Untuk MySQL sebelum 5. 7 jika log-bin kosong, berarti log biner tidak diaktifkan. Tetapi di MySQL setelah 5. 7, log-bin kosong berarti kondisinya aktif, dengan nama binary logs. binlog
  2. max_binlog_size, adalah batas ukuran setiap file MySQL Binlog. Ini digunakan untuk menghemat ruang hard disk
  3. expure_logs_days, adalah batas waktu setiap file binlog dapat berada di server. Misalnya nilai 7 ditulis, maka setiap 7 hari akan dihapus

Beberapa Perintah Operasional MySQL Binlog

1. Cara Melihat Daftar Log Biner

Perintah yang bisa digunakan untuk melihat daftar log biner ini adalah

1

TAMPILKAN BINARI LOG.

Contohnya adalah

1

2

3

4

5

6

7

8

mysql&gt; tampilkan biner log;

+-------- --------------------------------------------------------------------------------------------------------+----------- +

. Log_name           . Ukuran_file .

+-------- --------------------------------------------------------------------------------------------------------+----------- +

. ecampuz. bin. 000060 . 875667866 .

. ecampuz. bin. 000061 . 1073741946.

. ecampuz. bin. 000062 . 179279083 .

+-------- --------------------------------------------------------------------------------------------------------+----------- +

Tentu kita juga bisa mencocokkan bagian ini dengan yang ada di datadir. Biasanya file akan berada di datadir (/var/lib/mysql)

2. Cara Membaca Binlog MySQL

Bagaimana cara membaca MySQL Binlog? . mysqlbinlog

1

mysqlbinlog nama file. bin. xxx

Contohnya adalah

1

mysqlbinlog ecampuz. bin. 000062

Contohnya adalah

Cara menggunakan biner sisipan mysql
Membaca file Binlog dengan mysqlbinlog

Dari situ cukup melihat isi file MySQL Binlog

3. Merestore MySQL Binlog menjadi File Teks

File MySQL Binlog ini bukan file teks. Untuk mengubah file binlog menjadi teks, perubahan dapat dilakukan dengan cara berikut

1

mysqlbinlog nama file. bin. xxx &gt; teks file . txt

Contohnya adalah

1

mysqlbinlog ecampuz. bin. 00016 &gt; ecampuz . binlog. txt

4. Cara Membaca File Binlog dengan Interval Waktu Tertentu

Binlog yang akan dibaca, ternyata memiliki catatan tanggal aktivitas database dicatat. Untuk membaca file binlog pada interval tertentu dapat dilakukan dengan cara

1

mysqlbinlog --mulai-tanggal waktu="yyyy-mm-dd hh. mm. ss" --berhenti-tanggal waktu="yyyy-mm-dd hh. mm. ss" nama file. bin. xxxx

Jika Anda menginginkan hanya log biner yang tersedia sejak tanggal tertentu, bisa dipanggil dengan

1

mysqlbinlog --mulai-tanggal waktu="yyyy-mm-dd hh. mm. ss" --berhenti-tanggal waktu="yyyy-mm-dd hh. mm. ss" nama file. bin. xxxx

Sedangkan binlog MySQL yang ada hingga waktu tertentu, bisa dibaca dengan cara tertentu

1

mysqlbinlog --berhenti-datetime="yyyy-mm-dd hh. mm. ss" nama file. bin. xxxx

Sebagai contoh

1

mysqlbinlog --mulai-tanggal waktu="01-01-2021 15. 30. 00" --berhenti-tanggal waktu="01-06-2021 00. 00. 00" ecampuz. bin. 00016

Nah, apakah Anda tahu cara mengembalikan log biner dengan interval waktu tertentu ke dalam file teks?

5. Membaca Binlog MySQL yang ada di Posisi Tertentu saja

MySQL Binlog memiliki penanda posisi berupa angka, dan diawali dengan kata “at”

Cara menggunakan biner sisipan mysql

Kita bisa membaca binlog pada posisi tertentu, untuk keperluan restore data baik ke dalam database maupun ke dalam file teks. Kita bisa mengekstraknya dengan cara berikut

1

mysqlbinlog -j numberstart -H nomor henti namafile. bin. xxx

atau

1

mysqlbinlog --mulai-posisi angka mulai --berhenti-posisi nomor henti nama file. bin. xxx

Contoh

1

mysqlbinlog --mulai-posisi 145 --berhenti-posisi 245 ecampuz. bin. 00016

Nomor posisi tertentu juga bisa dilewati dengan opsi -o, misalnya

1

mysqlbinlog --mulai-posisi 145 --berhenti-posisi 245 -o 160 ecampuz. bin. 00016

6. Cara Menyimpan Binlog MySQL di Database

Bagaimana cara mengembalikan Log Biner di database? . Setelah dicadangkan, Anda dapat mengembalikan file binlog ke dalam database. Triknya adalah

1

mysqlbinlog nama file. bin. xxx . mysql -u pengguna - p

Contoh

1

mysqlbinlog ecampuz. bin. 00016 . mysql -u root - p

Kita juga bisa membaca mysqlbinlog pada interval waktu tertentu, untuk mengembalikan ke dalam database

Nah, semua perintah ini, manual bantuannya sudah ada di halaman manual mysqlbinlog di Linux. Kita bisa membaca di sana secara lengkap. Berikut adalah beberapa yang umum digunakan. Itulah sedikit tutorial, semoga artikel ini bermanfaat bagi admin kampus