Panduan utama untuk database WordPress

Diterbitkan: 2022-02-09

Pada intinya, WordPress adalah CMS (Content Management System). Untuk mengelola konten, itu harus dapat menyimpannya. WordPress melakukan ini melalui folder dan file, dan database. Kami sebelumnya telah membahas sistem file WordPress dalam artikel terpisah; kita akan fokus pada database kali ini.

Pada artikel ini, kita akan melihat database WordPress, strukturnya, dan cara kerja setiap bidang. Kami juga telah menyertakan pelajaran sejarah singkat tentang MySQL. Petunjuk – My di MySQL tidak berarti milik Anda; Saya adalah orang yang sebenarnya, tapi siapa? – Lanjutkan membaca untuk mencari tahu.

Daftar Isi

  • Sejarah singkat (sangat) SQL, MySQL, dan MariaDB
  • Cara mengakses database WordPress
    • phpMyAdmin
    • Plesk/cPanel
    • Klien SSH/MySQL/MariaDB
    • Plugin WordPress
  • Struktur basis data WordPress
    • Struktur tabel
      • wp_commentmeta
      • wp_comments
      • wp_links
      • wp_options
      • wp_postmeta
      • wp_posts
      • wp_terms
      • wp_termmeta
      • wp_term_relationships
      • wp_term_taxonomy
      • wp_usermeta
      • wp_pengguna

Sejarah singkat (sangat) SQL, MySQL, dan MariaDB

WordPress menggunakan RDBMS yang disebut MySQL. Secara teknis ini berbasis MySQL karena MariaDB semakin banyak digunakan sebagai pengganti MySQL. SQL adalah singkatan dari Structured Query Language dan merupakan bahasa yang kita gunakan untuk berinteraksi dengan database – dan bukan database itu sendiri.

MySQL telah memainkan peran penting dalam pertumbuhan internet seperti yang kita kenal sekarang. Pertama kali diperkenalkan pada tahun 1995 sebagai alternatif produk yang ditawarkan oleh Microsoft dan Oracle, dengan cepat menjadi standar emas RDBMS pilihan.

Sejarah MySQL penuh warna, telah diakuisisi oleh Sun Microsystems dan kemudian Oracle (Oracle mengakuisisi Sun Microsystems dan MySQL dengannya).

Menanggapi akuisisi MySQL oleh Oracle, Monty Widenius, pencipta asli MySQL, bercabang MySQL ke MariaDB, yang dinamai putrinya, Maria. (Menariknya, MySQL dinamai putri Monty yang lain – My). Seiring waktu, perbedaan antara MariaDB dan MySQL berkembang; namun, keduanya tetap dapat dipertukarkan dalam banyak skenario, termasuk database WordPress.

Bahkan, dalam banyak kasus, MariaDB dianggap sebagai pengganti MySQL. Ini berarti Anda dapat menghapus instalasi MySQL, menginstal MariaDB sebagai gantinya, dan terus bekerja seolah-olah tidak ada yang berubah. Karena itu, MariaDB dapat menawarkan peningkatan kinerja dalam beberapa situasi dan juga menawarkan kompatibilitas yang lebih luas dengan, misalnya, mesin penyimpanan.

Penting untuk dicatat bahwa MySQL tetap gratis dan dirilis di bawah sistem lisensi ganda. Dalam banyak kasus, MySQL digunakan untuk merujuk ke database yang berupa MySQL atau MariaDB.

Cara mengakses database WordPress

Ada beberapa opsi berbeda yang tersedia untuk menghubungkan ke database WordPress. Metode atau metode yang tersedia untuk Anda akan sangat bergantung pada jenis hosting WordPress yang Anda gunakan. Jika Anda tidak yakin bagaimana konfigurasi server Anda, bicarakan dengan penyedia hosting atau administrator sistem Anda. Either way, pilihan dapat mencakup;

phpMyAdmin

phpMyAdmin adalah alat favorit karena memungkinkan kita untuk terhubung ke database melalui GUI berbasis web. phpMyAdmin perlu diinstal pada server yang sama yang menghosting database, dengan banyak penyedia hosting yang langsung menawarkan phpMyAdmin.

Plesk/cPanel

Plesk dan cPanel adalah dua platform panel kontrol yang memiliki fungsi serupa – antarmuka pengguna yang memfasilitasi manajemen server. Tentu saja, ada perbedaan utama tertentu, termasuk teknologi dan Sistem Operasi yang didukungnya. Either way, mereka juga memungkinkan kita untuk mengakses database, meskipun dengan cara yang sedikit berbeda.

Klien SSH/MySQL/mariaDB

SSH adalah cara yang kurang ramah pengguna untuk terhubung ke database, menawarkan CLI (Command Line Interface) daripada GUI. Karena itu, pemahaman yang lebih dalam tentang perintah SQL dianjurkan. SSH perlu diatur secara eksplisit di server yang sama yang menghosting database sebelum menghubungkannya.

Plugin

Anda juga dapat menggunakan plugin WordPress untuk mengakses database WordPress Anda. Menggunakan plugin, Anda dapat mengakses database langsung dari konsol admin WordPress Anda. Di sini, Anda harus memastikan bahwa Anda memilih plugin dari pemasok terkemuka dan mengikuti semua praktik terbaik yang berlaku untuk menjaga keamanan data Anda. Jika Anda tidak yakin plugin mana yang harus digunakan, baca panduan kami tentang cara memilih plugin terbaik untuk situs web WordPress Anda.

Struktur basis data WordPress

Basis data WordPress terdiri dari 12 tabel. Setiap tabel, secara default, dimulai dengan awalan wp_; namun, ini dapat diubah selama proses instalasi dan konfigurasi awal. Mengubah awalan umumnya disarankan untuk alasan keamanan WordPress, terutama jika Anda berniat atau sudah memiliki beberapa instalasi di server yang sama.

12 tabel yang membentuk database WordPress adalah sebagai berikut (terdaftar dalam urutan abjad):

  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_termmeta
  • wp_term_relationships
  • wp_term_taxonomy
  • wp_usermeta
  • wp_pengguna

Sekarang kita akan membahas setiap tabel satu per satu dan melihat data apa yang disimpannya dan struktur internalnya.

Struktur tabel

Sebelum kita masuk ke detail setiap tabel, ada baiknya meluangkan waktu untuk melihat bagaimana strukturnya. Jika Anda tidak terbiasa dengan dokumentasi database, bagian ini akan memberikan kursus kilat yang akan membantu Anda di bagian berikutnya. Di sisi lain, jika Anda cukup familiar dengan tabel SQL, jangan ragu untuk melompat ke depan.

  • Nama bidang – Ini adalah nama bidang, yang akan Anda temukan di tabel SQL
  • Deskripsi – Kami telah memasukkan ini untuk membantu Anda memahami jenis data yang dimiliki bidang ini
  • Type – Ini adalah tipe data yang diterima field. Angka dalam tanda kurung mewakili batas keras jumlah karakter yang dapat diterima yang dapat kita masukkan
  • Null – tidak jelas mengapa bidang ini digunakan saat ini
  • Kunci – Ini memberi tahu kita apakah entri adalah kunci atau bukan. Ada beberapa jenis kunci, antara lain:
    • Utama
    • Utama (Bagian)
    • Indeks
    • Indeks (Bagian)
    • Unik
    • beberapa
  • Default – Jika entri memiliki nilai default, nilai default akan dicantumkan di sini
  • Catatan – Catatan tambahan apa pun

wp_commentmeta

Tabel wp_commentsmeta menyimpan metadata yang terkait dengan komentar. Komentar disimpan secara terpisah di tabel wp_comments. Tabel memiliki bidang berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
meta_id Ini adalah ID unik untuk entri. Ini bertambah secara otomatis bigint(20)tidak ditandatangani Utama
komentar_id Ini adalah ID komentar yang terkait dengan metadata seperti yang ditemukan di tabel wp_comments bigint(20)tidak ditandatangani Indeks 0
meta_key Ini mengidentifikasi jenis metadata entri untuk varchar(255) Ya Indeks Batal
meta_nilai Ini adalah metadata yang sebenarnya teks panjang Ya Batal

wp_comments

Tabel wp_comments menyimpan komentar posting. Metadata yang terkait dengan komentar disimpan di tabel wp_commentmeta. Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
komentar_ID Ini adalah ID unik untuk entri. Ini bertambah secara otomatis besar(20) Utama tidak
comment_post_ID Ini adalah ID postingan tempat komentar ditulis, seperti yang ditemukan di tabel wp_posts besar(20) Indeks 0
komentar_penulis Ini adalah nama penulis yang menulis komentar teks kecil
komentar_penulis_email Ini adalah alamat email penulis yang menulis komentar varchar(100) Indeks
komentar_penulis_url Ini adalah URL situs web penulis yang menulis komentar varchar(200)
komentar_penulis_IP Ini adalah alamat IP penulis yang menulis komentar varchar(100)
komentar_tanggal Ini adalah tanggal dan waktu di mana komentar itu diposting tanggal Waktu 0000-00-00 00:00:00
komentar_tanggal_gmt Ini adalah tanggal dan waktu GMT (Greenwich Meridian Time) saat komentar diposting tanggal Waktu Indeks dan Indeks Pt2 0000-00-00 00:00:00
komentar_konten Ini adalah komentar sebenarnya yang tersisa teks
komentar_karma Ini tersedia untuk digunakan oleh plugin untuk tujuan manajemen komentar int(11)
komentar_disetujui Ini menunjukkan apakah komentar tersebut telah disetujui atau tidak varchar(20) Indeks Bagian 1 0
komentar_agen Dari sinilah komentar itu diposting varchar(255)
komentar_type Ini adalah jenis komentar yang tersisa varchar(20)
comment_parent Jika komentar adalah balasan, bidang ini menunjukkan komentar orang tua bigint(20)tidak ditandatangani Indeks 0
identitas pengguna Jika pengguna yang berkomentar terdaftar, ini akan menjadi ID mereka seperti yang tersedia di wp_users bigint(20)tidak ditandatangani 0

wp_links

Tabel ini awalnya dibuat untuk mendukung blogrolls, sebuah fitur yang diturunkan mulai dari WordPress 3.5. Itu disimpan untuk kompatibilitas mundur tetapi tidak lagi digunakan. Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
link_id Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint (20) tidak ditandatangani Utama
link_url Ini adalah URL tautannya varchar(255)
link_name
Ini nama linknya varchar(255)
link_image Ini adalah URL dari gambar terkait tautan varchar(255)
tautan_target Ini adalah bingkai target tautan varchar(25)
tautan_deskripsi Ini adalah deskripsi dari link varchar(255)
link_terlihat Ini memberi tahu kami apakah tautan tersebut ditampilkan secara publik atau tidak varchar(20) Indeks kamu
link_pemilik Ini adalah ID pengguna dari pengguna yang membuat tautan seperti yang tersedia di wp_users bigint (20) tidak ditandatangani 1
link_rating Ini adalah peringkat tautannya int(11) 0
link_updated Ini adalah tanggal dan waktu tautan diperbarui tanggal Waktu 0000-00-00 00:00:00
link_rel Ini adalah hubungan tautannya varchar(255)
link_notes Ini adalah catatan tentang tautan teks sedang
link_rss Ini adalah alamat rss feed dari tautan varchar(255)

wp_options

Pengaturan WordPress yang dikonfigurasi melalui konsol admin disimpan di sini. Plugin dan tema biasanya juga menyimpan informasi pengaturan di sini, seperti yang diilustrasikan pada tangkapan layar di bawah. Di sini kita dapat melihat opsi frekuensi pemindaian Monitor Perubahan File Situs Web kita sendiri yang disetel ke harian. Perubahan File WordPress Memantau frekuensi pemindaian

Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
pilihan_id Ini adalah ID unik untuk entri. Bertambah secara otomatis. bigint(20) tidak ditandatangani Utama
option_name Ini adalah nama opsi/pengaturan varchar(64) Unik
opsi_nilai Ini adalah nilai dari pengaturan yang disimpan teks panjang
muat otomatis Pengaturan ini memberi tahu wp_load_alloptions() apakah itu harus memuat opsi secara otomatis atau tidak varchar(20) Indeks Ya

wp_postmeta

Metadata postingan yang menyertai setiap postingan disimpan di sini. Metadata dapat menyertakan file terlampir, thumbnail, post slug yang diinginkan, dan informasi sejenis lainnya. Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
meta_id Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint(20) tidak ditandatangani Utama
Nama bidang
post_id

Ini adalah ID kiriman yang dikaitkan dengan metadata seperti yang tersedia di wp_posts bigint(20) tidak ditandatangani Indeks 0
meta_key Ini adalah kunci indeks yang mengidentifikasi metadata, karena setiap posting dapat memiliki lebih dari satu metadata varchar(255) Ya Indeks Batal
meta_nilai Ini adalah metadata yang sebenarnya teks panjang Ya Batal

wp_posts

Tabel wp_posts adalah tabel utama dan berisi inti data WordPress. Ini menampung posting, halaman, serta item menu navigasi yang sebenarnya, seperti yang terlihat pada contoh di bawah ini yang menunjukkan halaman sampel default yang disertakan dalam setiap instalasi baru WordPress. Halaman contoh disertakan dalam setiap instalasi baru WordPress

Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
PENGENAL Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint(20) tidak ditandatangani Primer dan Indeks (Bagian 4)
post_author Ini adalah ID penulis yang menulis posting seperti yang tersedia di wp_users bigint(20) tidak ditandatangani Indeks 0
tanggal Posting Ini adalah tanggal dan waktu posting dibuat tanggal Waktu Indeks (Bagian 3) 0000-00-00 00:00:00
post_date_gmt Ini adalah tanggal dan waktu GMT (Greenwich Mean Time) saat postingan dibuat tanggal Waktu 0000-00-00 00:00:00
post_content Ini adalah isi postingan yang sebenarnya teks panjang
post_title Ini judul postingannya teks
post_excerpt Ini kutipan postingannya teks
post_status Ini status postingannya varchar(20) Indeks (Bagian 2) menerbitkan
komentar_status Ini memberi tahu kami apakah komentar di pos diizinkan atau tidak varchar(20) membuka
ping_status Ini memberi tahu kami apakah ping dan lacak balik diizinkan atau tidak varchar(20) membuka
post_password Postingan dapat dilindungi kata sandi dengan kata sandi yang berlaku yang disimpan di sini varchar(20)
post_name Ini adalah siput URL judul posting varchar(200) indeks
ke_ping Ini adalah daftar URL yang WordPress harus mengirim pingback ke setiap kali posting diperbarui teks
melakukan ping Ini adalah daftar URL yang di-pingback WordPress saat diperbarui teks
post_modified Ini adalah tanggal dan waktu modifikasi terakhir posting tanggal Waktu 0000-00-00 00:00:00
post_modified_gmt Ini adalah tanggal GMT dan waktu modifikasi terakhir posting tanggal Waktu 0000-00-00 00:00:00
post_content_filtered Ini adalah versi post_content yang difilter yang biasanya digunakan oleh plugin untuk tujuan caching teks panjang
post_parent Ketika posting adalah revisi atau lampiran, ini menciptakan hubungan orang tua-anak bigint(20) tidak ditandatangani Indeks 0
panduan Ini adalah Pengidentifikasi Unik Global (GUID) dari pos varchar(255)
menu_pesan Ini adalah nomor pesanan di mana halaman dan item non-posting muncul int(11) 0
post_type Ini mengidentifikasi jenis konten varchar(20) Indeks (Bagian 1) pos
post_mime_type Ini adalah jenis lampiran posting mime varchar(100)
komentar_hitung Ini adalah jumlah total komentar, trackback, dan pingback besar(20) 0

wp_terms

Istilah adalah objek klasifikasi yang digunakan untuk mengklasifikasikan objek di WordPress. Misalnya, kategori dan tag yang digunakan dalam posting adalah jenis istilah. Tabel ini berisi semua jenis istilah yang berbeda yang digunakan di seluruh WordPress. Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
istilah_id Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint(20) tidak ditandatangani Utama
nama Ini adalah nama istilah varchar(200) Indeks
siput Ini adalah siput dari istilah varchar(200) beberapa
istilah_grup Ini adalah alias yang dapat digunakan oleh tema dan plugin untuk mengelompokkan istilah bersama-sama besar(10) 0

wp_termmeta

Tabel ini menyimpan metadata yang terkait dengan istilah yang ditemukan di wp_terms. Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
meta_id Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint(20) tidak ditandatangani Utama
istilah_id Ini adalah ID dari istilah yang terkait dengan metadata yang tersedia di wp_terms bigint(20) tidak ditandatangani Indeks 0
meta_key Ini adalah kunci pengenal untuk istilah metadata varchar(255) Ya Indeks BATAL
meta_nilai Ini adalah metadata yang sebenarnya teks panjang Ya BATAL

wp_term_relationships

Tabel ini memelihara hubungan antara posting dan taksonomi. Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
objek_id Ini adalah ID postingan yang tersedia di wp_posts bigint(20) tidak ditandatangani Utama (Bagian 1) 0
istilah_taksonomi_id Ini adalah ID dari istilah taksonomi yang tersedia di wp_term_taxonomy bigint(20) tidak ditandatangani Primer (Bagian 2) dan Indeks 0
term_order Ini adalah urutan istilah int(11) 0

wp_term_taxonomy

Tabel ini memberikan istilah taksonomi dan, dengan demikian, konteks di mana mereka dapat digunakan. Misalnya, kita dapat menggunakan istilah database sebagai kategori posting dan sebagai kategori produk (dengan asumsi kita menjual layanan database). Dalam hal ini, kategori pos dan kategori produk merupakan taksonomi term. Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
istilah_taksonomi_id Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint(20) tidak ditandatangani Utama
istilah_id Ini adalah ID istilah yang tersedia di wp_terms bigint(20) tidak ditandatangani Unik (Bagian 1) 0
taksonomi Ini adalah siput taksonomi varchar(32) Unik (Bagian 2) dan Indeks
keterangan Ini adalah deskripsi taksonomi teks panjang
induk Ini adalah ID taksonomi induk jika taksonomi adalah anak bigint(20) tidak ditandatangani 0
menghitung Ini adalah jumlah objek yang ditetapkan taksonomi ini besar(20) 0

wp_usermeta

Tabel ini menyimpan data pengguna tambahan yang tidak ditemukan di tabel wp_users. WordPress sendiri, serta plugin atau tema, dapat menggunakan tabel ini.

Contoh metadata pengguna adalah nama panggilan pengguna. Meskipun WordPress menyertakan bidang ini secara default, itu masih merupakan bagian dari metadata, seperti yang ditunjukkan di bawah ini. Contoh lain adalah WooCommerce; sebuah plugin e-niaga yang menggunakan tabel ini untuk menyimpan informasi pelanggan seperti alamat pengiriman.

Metadata nama panggilan pengguna

Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
umeta_id Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint(20) tidak ditandatangani Utama
identitas pengguna Ini adalah ID pengguna yang terkait dengan informasi seperti yang ditemukan di wp_users bigint(20) tidak ditandatangani Indeks 0
meta_key Ini adalah pengidentifikasi kunci untuk entri meta varchar(255) Ya Indeks Batal
meta_nilai Ini adalah metadata yang sebenarnya teks panjang Ya Batal

wp_pengguna

Informasi pengguna WordPress disimpan di sini. Dengan pengguna menjadi bagian integral dari ekosistem WordPress, tabel ini sangat penting.

Tabel hanya menyimpan informasi inti untuk setiap pengguna, seperti yang ditunjukkan pada contoh di bawah ini. Semua informasi lainnya disimpan dalam tabel wp_usermeta.

Pengguna WordPress informasi meta lainnya

Tabel memiliki kolom berikut:

Nama kolom Keterangan Jenis Batal Kunci Bawaan
PENGENAL Ini adalah ID unik untuk entri. Bertambah secara otomatis bigint(20) tidak ditandatangani Utama
login_pengguna Ini adalah nama pengguna pengguna varchar(60) Indeks
user_pass Ini adalah kata sandi pengguna varchar(64)
nama_namapengguna Ini adalah nama tampilan pengguna varchar(50) Indeks
email_pengguna Ini adalah alamat email pengguna varchar(100)
user_url Ini adalah URL pengguna (mis. situs web) varchar(100)
pengguna_terdaftar Ini adalah tanggal dan waktu pengguna terdaftar tanggal Waktu 0000-00-00 00:00:00
kunci_aktivasi_pengguna Ini adalah kunci aktivasi pengguna, yang digunakan untuk mengatur ulang kata sandi mereka varchar(60)
Status pengguna Ini tidak lagi digunakan seperti dari WordPress 3.0, tetapi digunakan untuk menunjukkan apakah pengguna adalah spam int(11) 0
nama tampilan Ini adalah nama tampilan publik pengguna varchar(250)

Kenali database WordPress

Basis data bisa sangat menakutkan bagi yang belum tahu – lagi pula, mereka menyimpan semua data yang diperlukan agar WordPress berfungsi. Meskipun benar bahwa salah langkah di sini dapat menyebabkan situs mogok, jangan biarkan hal ini mengintimidasi Anda. Bagaimanapun, mengetahui jalan Anda di sekitar database WordPress dapat sangat memudahkan upaya pemecahan masalah Anda jika ini diperlukan.

Menyiapkan lingkungan pengujian atau pementasan dapat memberi Anda ruang aman di mana Anda bebas bereksperimen tanpa mengambil risiko membuat situs web Anda offline. Anda bahkan dapat mengatur lingkungan pementasan XAMPP di komputer Anda secara gratis – menyediakan semua yang Anda butuhkan untuk menguasai database WordPress.