Panduan utama untuk database WordPress
Diterbitkan: 2022-02-09Pada 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
- Struktur tabel
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.
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.
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.
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.
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.