


Bagaimana cara menukar set aksara lalai dan pengumpulan di MySQL?
Untuk menukar set aksara lalai dan pengumpulan di MySQL, ubah suai fail my.cnf atau my.ini di bawah seksyen [mysqld] dengan menambahkan aksara-set-server = UTF8MB4 dan collation-server = UTF8MB4_UNICODE_CI, kemudian mulakan semula perkhidmatan mysql menggunakan mySql atau mysql mySql atau mysql mysql atau mysql atau mySql 'Watak_set_server' dan tunjukkan pembolehubah seperti 'collation_server', memastikan pangkalan data baru mewarisi tetapan sambil menyatakan bahawa data yang ada tetap tidak terjejas dan aplikasi mungkin menimpa lalai melalui rentetan sambungan.
Untuk menukar set aksara lalai dan pengumpulan di MySQL, anda perlu mengubah suai fail konfigurasi MySQL. Ini memberi kesan kepada pangkalan data dan jadual baru kecuali ditindih secara jelas. Inilah cara melakukannya dengan betul.
Kemas kini fail konfigurasi MySQL
Fail konfigurasi utama untuk MySQL biasanya dinamakan my.cnf
(pada linux/unix) atau my.ini
(pada tingkap). Ia biasanya terletak di salah satu direktori ini:
-
/etc/my.cnf
-
/etc/mysql/my.cnf
-
/usr/local/mysql/etc/my.cnf
- Windows:
C:\ProgramData\MySQL\MySQL Server XX\my.ini
Buka fail dalam editor teks dan tambahkan atau ubah suai baris berikut di bawah bahagian yang sesuai:
[mysqld] aksara-set-server = UTF8MB4 collation-server = UTF8MB4_UNICODE_CI
Anda boleh menggantikan utf8mb4
dan utf8mb4_unicode_ci
dengan set aksara pilihan dan pengumpulan (misalnya, utf8mb4
, utf8
, atau latin1
) dan pengumpulan yang sepadan seperti utf8mb4_general_ci
atau latin1_swedish_ci
.
Pastikan tetapan ini berada di bawah seksyen [mysqld]
supaya ia memohon kepada daemon pelayan.
Mulakan semula perkhidmatan MySQL
Selepas menyimpan fail konfigurasi, mulakan semula perkhidmatan MySQL untuk perubahan yang berkuatkuasa:
Di Linux (SystemD):
sudo systemctl mulakan semula mysql # atau sudo systemctl mulakan semula mysqld
Pada sistem Linux yang lebih tua:
perkhidmatan sudo mysql dimulakan semula
Di tingkap:
Net Stop MySQL Net Start MySQL
(Gantikan mysql
dengan nama perkhidmatan sebenar jika berbeza.)
Sahkan lalai baru
Sambungkan ke MySQL dan jalankan:
Tunjukkan pembolehubah seperti 'aksara_set_server'; Tunjukkan pembolehubah seperti 'collation_server';
Anda harus melihat nilai baru anda tercermin.
Juga, periksa bahawa pangkalan data yang baru dibuat mewarisi tetapan yang betul:
Buat pangkalan data test_db; Gunakan test_db; Tunjukkan Buat pangkalan data test_db;
Nota penting
- Menukar lalai tidak menjejaskan pangkalan data atau jadual sedia ada. Anda perlu mengubahnya secara manual jika diperlukan.
- Gunakan
utf8mb4
dan bukannyautf8
dalam MySQL-yang terakhir hanya menyokong 3-bait UTF-8 dan tidak mengendalikan Unicode penuh (seperti emojis). - Jika anda menggunakan replikasi atau mempunyai beberapa pelayan, gunakan perubahan yang sama di semua keadaan untuk mengelakkan ketidakkonsistenan.
- Sesetengah aplikasi mungkin masih menentukan charset secara eksplisit dalam rentetan yang berkaitan atau semasa penciptaan jadual, yang akan mengatasi kegagalan pelayan.
Pada asasnya, tetapkannya dalam my.cnf
, mulakan semula MySQL, dan sahkan. Tidak menjejaskan data lama, tetapi semua pangkalan data dan jadual baru (tanpa charset eksplisit) akan menggunakan lalai baru.
Atas ialah kandungan terperinci Bagaimana cara menukar set aksara lalai dan pengumpulan di MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jawapannya ialah: Kenyataan kes MySQL digunakan untuk melaksanakan logik bersyarat dalam pertanyaan, dan menyokong dua bentuk: mudah dan carian. Nilai -nilai yang berbeza boleh dikembalikan secara dinamik dalam klausa seperti Select, Where, and Orderby; Sebagai contoh, dalam Pilihan, klasifikasi skor oleh segmen pecahan, menggabungkan fungsi agregat untuk mengira bilangan negeri, atau mengutamakan peranan tertentu dalam urutan, adalah perlu untuk sentiasa berakhir dengan akhir dan disyorkan untuk menggunakan yang lain untuk mengendalikan situasi lalai.

Buat skrip shell yang mengandungi konfigurasi pangkalan data dan perintah mysqldump dan simpannya sebagai mysql_backup.sh; 2. Simpan kelayakan MySQL dengan membuat fail ~/.my.cnf dan tetapkan 600 kebenaran untuk meningkatkan keselamatan, mengubah suai skrip untuk menggunakan pengesahan fail konfigurasi; 3. Gunakan Chmod X untuk membuat skrip boleh dilaksanakan dan menguji secara manual sama ada sandaran berjaya; 4. Tambah tugas berjadual melalui Crontab-E, seperti 02/Path/to/mysql_backup.sh >>/path/to/sandaran/sandaran.log2> & 1, merealisasikan sandaran automatik dan pembalakan pada pukul 2 pagi setiap hari; 5.

Masukkan ... Pelaksanaan OnDupliceKeyUpdate akan dikemas kini jika ia wujud, jika tidak, ia akan dimasukkan, dan ia memerlukan kekangan utama yang unik atau utama; 2. 3. Insertignore hanya memasukkan dan tidak berulang data, dan tidak mengemaskini. Adalah disyorkan untuk menggunakan pelaksanaan pertama UPSERT.

Subqueries boleh digunakan di mana, dari, pilih, dan mempunyai klausa untuk melaksanakan penapisan atau pengiraan berdasarkan hasil pertanyaan lain. Pengendali seperti dalam, mana -mana, semuanya biasa digunakan di mana; alias diperlukan sebagai jadual derivatif dari; Nilai tunggal mesti dikembalikan dalam SELECT; Subqueries yang berkaitan bergantung pada pertanyaan luar untuk melaksanakan setiap baris. Sebagai contoh, periksa pekerja yang purata gaji lebih tinggi daripada jabatan, atau tambahkan senarai gaji purata syarikat. Subqueries meningkatkan kejelasan logik, tetapi prestasi mungkin lebih rendah daripada bergabung, jadi anda perlu memastikan bahawa anda mengembalikan hasil yang diharapkan.

JelaskanInmysqlrevealsQueryExecutionPlans, memperlihatkanIndexusage, tableadorder, androwfilteringtooptimizeperformance; ussitbeforeselecttoanalyzesteps, checkkeycolumnsliketypeandrows, identiffiCienciesinextra, danctombinewithindexingstrategiestrategiestrategiestrategiestrategiestrategiestrategiestrategiestrategiestrategiestrategiestrategiestrategi

Gunakan UTC untuk menyimpan masa, tetapkan zon waktu pelayan MySQL ke UTC, gunakan Timestamp untuk merealisasikan penukaran zon waktu automatik, laraskan zon waktu mengikut keperluan pengguna dalam sesi, memaparkan waktu setempat melalui fungsi Convert_TZ, dan pastikan jadual waktu zon waktu dimuatkan.

Gunakan kata kunci yang berbeza untuk mengalih keluar nilai pendua dari lajur yang ditentukan dan mengembalikan nilai unik. 1. Sintaks asas adalah selectdistinctcolumn_namefromtable_name; 2. Permintaan nilai unik satu lajur, seperti selectDistinctCityFromCustomers; 3. Permintaan gabungan unik pelbagai lajur, seperti selectDistinctCity, statefromCustomers; 4. Penapis dengan klausa WHERE dan dapatkan nilai yang unik, seperti selectDistinctProduct_Namefromorderswherordorder_date> '202

MySQL boleh mengira jarak geografi melalui formula Haversine atau fungsi st_distance_sphere. Yang pertama sesuai untuk semua versi, dan yang terakhir menyediakan pengiraan jarak sfera yang lebih mudah dan lebih tepat sejak 5.7.
