15 Tip dan Pengoptimuman Prestasi Mysql/Mariadb Berguna
- 4944
- 1077
- Marcus Kassulke
Mysql adalah sumber terbuka yang kuat Sistem Pengurusan Pangkalan Data Relasi atau pendek RDBMS. Ia dibebaskan pada tahun 1995 (20 tahun). Ia menggunakan Bahasa Pertanyaan Berstruktur yang mungkin pilihan paling popular untuk menguruskan kandungan dalam pangkalan data. Versi MySQL terkini adalah 5.6.25 dan dibebaskan pada 29 Mei 2015.
Fakta menarik mengenai MySQL adalah hakikat bahawa namanya berasal Michael Widenius (Pencipta Mysql) Anak perempuan Saya. Walaupun Walaupun terdapat banyak fakta menarik mengenai MySQL, artikel ini bertujuan untuk menunjukkan kepada anda beberapa amalan berguna untuk membantu anda menguruskan pelayan MySQL anda.
Tuning Prestasi MySQLDalam bulan April 2009 Projek MySQL dibeli oleh Oracle. Akibatnya garpu komuniti MySQL dipanggil Mariadb telah dicipta. Sebab utama untuk membuat garpu adalah untuk memastikan projek itu bebas di bawah lesen awam umum.
Hari ini Mysql dan Mariadb adalah salah satu yang paling (jika tidak paling) yang sering digunakan RDBMS yang digunakan untuk aplikasi web seperti WordPress, Joomla, Magento dan lain lain.
Artikel ini akan menunjukkan kepada anda beberapa petua asas namun berguna bagaimana mengoptimumkan lagu yang baik dengan prestasi MySQL/Mariadb. Perlu diingat bahawa artikel ini mengandaikan bahawa anda sudah memasang Mysql atau Mariadb. Jika anda masih tertanya -tanya bagaimana untuk memasangnya di sistem anda, anda boleh mengikuti panduan kami yang luas di sini:
- Memasang Lampu di RHEL/CentOS 7
- Memasang lampu di fedora 22
- Menyediakan lampu di Ubuntu 15.04
- Memasang Mariadb di Debian 8
- Pasang Mariadb di Gentoo Linux
- Pasang Mariadb di Arch Linux
Penting: Sebelum kita mulakan - jangan terima cadangan ini secara membabi buta. Setiap persediaan MySQL adalah unik dan memerlukan pemikiran tambahan, sebelum membuat perubahan.
Perkara yang perlu anda ketahui:
- Fail konfigurasi MySQL/MariaDB terletak di
/etc/my.cnf
. Setiap kali anda mengubah suai fail ini, anda perlu memulakan semula perkhidmatan MySQL supaya perubahan baru boleh berlaku. - Untuk menulis artikel ini versi MySQL 5.6 telah digunakan sebagai templat.
1. Dayakan InnoDB File-Per-Table
Pertama, penting untuk menjelaskan perkara itu Innodb adalah enjin penyimpanan. Mysql dan Mariadb Gunakan InnoDB sebagai Enjin Penyimpanan Lalai. Pada masa lalu MySQL digunakan untuk menyimpan jadual pangkalan data dan indeks dalam ruang meja sistem. Pendekatan ini dimaksudkan untuk pelayan yang tujuan tunggal adalah pemprosesan pangkalan data dan cakera penyimpanan mereka tidak digunakan untuk tujuan lain.
InnoDB memberikan pendekatan yang lebih fleksibel dan setiap maklumat pangkalan data disimpan dalam .IBD
fail data. Masing -masing .IBD fail mewakili ruang meja sendiri. Operasi pangkalan data seperti itu seperti "Truncate"Boleh diselesaikan lebih cepat dan anda juga boleh menuntut semula ruang yang tidak digunakan semasa menjatuhkan atau memangkas jadual pangkalan data.
Manfaat lain dari konfigurasi ini adalah hakikat bahawa anda boleh menyimpan beberapa jadual pangkalan data dalam peranti penyimpanan yang berasingan. Ini dapat meningkatkannya I/O Muatkan cakera anda.
The innodb_file_per_table didayakan secara lalai dalam mysql 5.6 dan ke atas. Anda dapat melihatnya di /etc/my.cnf fail. Arahan kelihatan seperti ini:
innodb_file_per_table = 1
2. Simpan data pangkalan data MySQL pada partition berasingan
Catatan: Persediaan ini hanya berfungsi dengan MySQL, tetapi tidak dengan MariaDB.
Kadang -kadang OS membaca/menulis dapat melambatkan prestasi pelayan MySQL anda, terutama jika terletak pada cakera keras yang sama. Sebaliknya, saya akan mengesyorkan menggunakan cakera keras berasingan (sebaik -baiknya SSD) untuk perkhidmatan MySQL.
Untuk melengkapkan, ini anda perlu melampirkan pemacu baru ke komputer/pelayan anda. Untuk tujuan artikel ini, saya akan mengandaikan bahawa pemacu akan berada di bawah /dev/sdb.
Langkah seterusnya adalah menyediakan pemacu baru:
# fdisk /dev /sdb
Sekarang tekan "n"Untuk membuat partition baru. Tekan seterusnya "p"Untuk menjadikan partition baru utama. Selepas itu, tetapkan nombor partition dari 1-4. Selepas itu anda akan memilih saiz partition. Tekan Enter di sini. Pada langkah seterusnya, anda perlu mengkonfigurasi saiz partition.
Sekiranya anda ingin menggunakan keseluruhan cakera tekan masukkan sekali lagi. Jika tidak, anda boleh menetapkan saiz partition baru secara manual. Semasa siap tekan "w"Untuk menulis perubahan. Sekarang kita perlu membuat sistem fail untuk partition baru kita. Ini dapat dilakukan dengan mudah dengan:
# mkfs.ext4 /dev /sdb1
Sekarang kita akan memasang partition baru kami dalam folder. Saya telah menamakan folder saya "SSD"Dan dibuat dalam direktori root:
# mkdir /ssd /
Kami bersedia untuk memasang partition baru yang baru saja kami buat dalam folder baru:
# mount /dev /sdb1 /ssd /
Anda boleh melakukan gunung pada permulaan dengan menambahkan baris berikut /etc/fstab fail.
/dev /sdb1 /ssd ext3 lalai 0 0
Sekarang anda sudah bersedia untuk memindahkan mysql ke cakera baru. Mula -mula menghentikan perkhidmatan MySQL dengan:
# Perkhidmatan Mysqld Berhenti
Saya akan mengesyorkan anda menghentikan Apache/Nginx juga untuk mengelakkan sebarang percubaan untuk menulis dalam pangkalan data:
# Perkhidmatan httpd berhenti # perkhidmatan nginx berhenti
Sekarang salin keseluruhan direktori MySQL dalam pemacu baru:
# cp/var/lib/mysql/ssd/-rp
Ini mungkin mengambil sedikit masa bergantung pada tapak pangkalan data MySQL anda. Sebaik sahaja proses ini selesai menamakan semula direktori MySQL:
# mv/var/lib/mysql/var/lib/mysql-backup
Seterusnya kita akan membuat symlink.
# ln -s/ssd/mysql/var/lib/mysql
Sekarang anda sudah bersedia untuk memulakan perkhidmatan MySQL dan web anda:
# Service MySqld Start # Service Httpd Start # Service Nginx Start
Pada masa ini pangkalan data MySQL anda akan diakses dari pemacu baru.
Halaman: 1 2 3 4- « Kisah di sebalik pengambilalihan 'MySQL' oleh Sun Microsystem dan kebangkitan 'MariaDB'
- Neofetch - Menunjukkan Maklumat Sistem Linux dengan Logo Pengedaran »