Penjelasan terperinci tentang penyakit kronik MySql

藏色散人
Lepaskan: 2021-09-20 17:10:01
ke hadapan
1597 orang telah melayarinya

1. Masalah set pengekodan lalai

Apabila memaparkan data bahagian hadapan, semua pilihan * daripada t_news boleh ditemui Semua kandungan. Kemudian ia tidak akan berfungsi apabila membuat parameter pertanyaan. Contohnya:

Pilih * daripada t_news di mana tajuk seperti ‘%Source Code Education%’ ditemui;

Pilih * daripada t_news di mana id = 1. 1 keping data ditemui.

Perhatikan medan yang ditandakan dengan warna merah Ini selepas saya mengubah suainya pada asalnya.

Penyelesaian:

Fail konfigurasi MySQL di bawah Windows ialah my.ini, yang biasanya terdapat dalam direktori akar direktori pemasangan.

Fail konfigurasi MySQL di bawah Linux ialah my.cnf, yang biasanya diletakkan dalam /etc/my.cnf, /etc/mysql/my.cnf. Jika anda tidak menemuinya, anda boleh menggunakan arahan find untuk mencarinya.

Buka my.ini/my.cnf dan ubah suai dua medan berikut.

Ps: Anda perlu memulakan semula mysql selepas mengubah suai fail konfigurasi.

2. Data tidak digulung semula

Semasa pengaturcaraan, spring mengkonfigurasi transaksi, tetapi apabila pengecualian berlaku, data dalam pangkalan data masih berubah. Selepas mengesahkan bahawa tiada masalah dengan transaksi dan konfigurasi kod, kami mempertimbangkan kemungkinan untuk mengkhususkan pangkalan data. Kami menggunakan alat "Navicat" untuk mereka bentuk jadual Dalam lajur "Pilihan" kami mendapati bahawa enjin storan yang digunakan oleh jadual adalah MyISAM.

MyISAM tidak menyokong transaksi Rollback akan menyebabkan rollback tidak lengkap dan bukan atomic.

Tukar MyISAM kepada InnoDB.

Terdapat juga enjin storan lalai dalam fail konfigurasi MySQL (my.ini). Jika tiada pernyataan khas semasa membuat jadual, enjin storan lalai akan digunakan.

3. Optimumkan pengimportan sejumlah besar data

Dalam kerja kami, kami pasti akan menghadapi situasi mengimport sejumlah besar data. Contohnya, anda perlu menanyakan data yang disandarkan sebelum ini, mengimport data sebenar secara setempat untuk ujian, kerap mengimport data ke dalam pangkalan data sandaran dan senario perniagaan lain.

MySQL menyediakan kaedah import untuk memuatkan data dalam fail. Walau bagaimanapun, konfigurasi yang tidak betul juga akan menyebabkan kelajuan import yang perlahan.

Penyelesaian:

Naikkan nilai parameter berikut, biasanya 80% daripada memori fizikal. Tetapi sistem 32-bit akan dihadkan kepada 2-3.5G.

4 Dayakan fungsi fungsi tersuai (pangkalan data awan)

Kadang-kadang apabila kami menjalankan kod orang lain, atau semasa memindahkan pelayan, kami mungkin menemui pangkalan data yang ditakrifkan sebelumnya. tidak boleh digunakan. Terutamanya dengan pangkalan data, fungsi fungsi tidak didayakan secara lalai, menyebabkan fungsi tidak dapat dilaksanakan.

Mula-mula kita semak sama ada fungsi itu didayakan. Seperti yang ditunjukkan di bawah:

Fungsi tersuai di sini dimatikan secara lalai.

Penyelesaian: Gunakan "set global log_bin_trust_function_creators = 1;" untuk mendayakan fungsi fungsi tersuai.

Soal semula:

Tetapi kaedah ini hanyalah penyelesaian sementara Selepas MySQL dimulakan semula, fungsi tersebut akan dimatikan secara lalai.

Untuk mendayakan fungsi fungsi tersuai secara kekal, anda perlu menambah "log-bin-trust-function-creators=1" pada fail konfigurasi.

5. Isu nama jadual dalam persekitaran Linux

Dalam persekitaran sistem Linux, nama jadual MySQL adalah sensitif huruf besar secara lalai. Kadangkala jika huruf besar dimasukkan dengan salah dalam nama jadual, pertanyaan tidak dapat ditemui.

Penyelesaian: Tambahkan "lower_case_table_names=1" di hujung fail konfigurasi my.cnf. Kemudian mulakan semula MySQL.

"lower_case_table_names=1" bermaksud memaksa pernyataan input kepada huruf kecil dan kemudian laksanakan pernyataan.

Pembelajaran yang disyorkan: "tutorial video mysql"

Atas ialah kandungan terperinci Penjelasan terperinci tentang penyakit kronik MySql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!