Rumah >pangkalan data >tutorial mysql >Ubah suai pengekodan pangkalan data mysql
MySQL ialah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai tapak web, gudang data dan aplikasi perusahaan. Dalam MySQL, format pengekodan merujuk kepada kaedah penyimpanan binari dalaman kandungan teks yang disimpan dalam pangkalan data.
Jika pangkalan data anda menyimpan aksara khas, seperti aksara Cina atau aksara bukan Inggeris yang lain, anda perlu menetapkan format pengekodan yang betul untuk memastikan aksara ini boleh disimpan dan diambil dengan betul. Artikel ini akan memperkenalkan cara mengubah suai format pengekodan pangkalan data MySQL.
Langkah 1: Sandarkan pangkalan data
Sebelum melakukan sebarang perubahan pangkalan data, pastikan anda membuat sandaran pangkalan data untuk mengelakkan kehilangan data atau kerosakan yang tidak dapat dipulihkan. Anda boleh menggunakan alat mysqldump yang disediakan oleh MySQL untuk membuat sandaran pangkalan data Perintahnya adalah seperti berikut:
mysqldump -u [username] -p [database_name] > backup.sql
di mana [nama pengguna] ialah nama pengguna pangkalan data, [nama_database] ialah nama pangkalan data kepada. disandarkan, > bermaksud mengubah hala kandungan sandaran ke fail backup.sql.
Langkah 2: Lihat pengekodan pangkalan data
Untuk melihat pengekodan lalai dalam pangkalan data MySQL semasa, anda boleh menjalankan arahan berikut:
SELECT @@character_set_database;
Arahan ini akan memaparkan semasa pengekodan lalai bagi Format pangkalan data.
Langkah 3: Ubah suai pengekodan pangkalan data
Untuk mengubah suai pengekodan pangkalan data, anda perlu melakukan langkah berikut:
find / -name my.cnf
[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] collation-server = utf8mb4_unicode_ci character-set-server = utf8mb4
Tetapan ini Pastikan semua klien dan pelayan MySQL menggunakan format pengekodan yang betul.
sudo service mysql restart
SELECT @@character_set_database;
Jika digunakan dengan betul, output hendaklah berbunyi "utf8mb4".
Langkah 4: Tukar jadual sedia ada kepada pengekodan baharu
Jika jadual sudah wujud dalam pangkalan data, ia perlu ditukar kepada format pengekodan baharu untuk menyimpan data dengan betul.
SELECT CONCAT('ALTER TABLE `', table_schema, '`.`', table_name, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS execute_sql FROM information_schema.tables WHERE table_schema = '[database_name]' AND table_type = 'BASE TABLE' ORDER BY table_name DESC;
Di mana [database_name] ialah nama pangkalan data yang perlu ditukarkan.
ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `table2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ...
Langkah 5: Uji perubahan
Selepas menukar semua jadual, anda perlu menguji sama ada perubahan itu berjaya. Jalankan arahan berikut untuk memastikan format pengekodan semua jadual telah dikemas kini:
SHOW FULL COLUMNS FROM [table_name];
di mana [nama_jadual] ialah nama jadual untuk diuji. Perintah ini akan memaparkan lajur dan metadata jadual, serta melihat sama ada sebarang data dalam format pengekodan lama wujud dalam jadual. Jika keputusan kelihatan betul, perubahan itu berjaya.
Kesimpulan
Mengubah suai format pengekodan pangkalan data dalam MySQL boleh memastikan aksara khas boleh disimpan dan diambil dengan betul, memberikan sokongan sempurna untuk tapak web dan aplikasi berbilang bahasa. Dengan mengikuti langkah-langkah yang disediakan dalam artikel ini, anda akan dapat dengan mudah mengubah suai format pengekodan pangkalan data MySQL anda dan mengelakkan kehilangan data atau rasuah.
Atas ialah kandungan terperinci Ubah suai pengekodan pangkalan data mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!