Məqalələr kataloqu
Bu yazıda biz daha yaxından baxacağıq MySQL MyISAM-ı verilənlər bazasında InnoDB yaddaş mühərrikinə toplu çevirməyin ən yaxşı yolu.
Biz sizə dönüşüm prosesi ilə addım-addım bələdçilik edəcəyik və onun səmərəli və təhlükəsiz şəkildə həyata keçirilməsini təmin etmək üçün faydalı məsləhətlər və tövsiyələr təqdim edəcəyik.
İstər verilənlər bazası administratoru, istərsə də tərtibatçı olmağınızdan asılı olmayaraq, bu bələdçi sizə MyISAM və InnoDB arasındakı fərqləri başa düşməyə kömək edəcək və InnoDB-yə çevrilmə nə üçün performansı optimallaşdırmaq və məlumatların etibarlılığını artırmaq üçün vacibdir.
Təfərrüatlı addımlarımızı izləyin və asanlıqla çevirə bilərsiniz MySQL Verilənlər bazası performansı yaxşılaşdıran və məlumatların təhlükəsizliyini və bütövlüyünü təmin edən InnoDB saxlama mühərrikinə çevrilir.

MySQL verilənlər bazası sistemində MyISAM və InnoDB iki ümumi saxlama mühərrikidir. MyISAM sürətli və çoxlu oxu əməliyyatları olan ssenarilər üçün uyğundur.
InnoDB əməliyyatları, xarici açarları və sıra səviyyəli kilidləməni dəstəkləyir və məlumatların bütövlüyü və paralellik nəzarəti tələb edən proqramlar üçün daha uyğundur. Beləliklə, MyISAM cədvəllərini InnoDB-yə toplu çevirmək lazım olduqda nə etməliyik?
Niyə MyISAM-ı InnoDB-yə çevirin?
Əvvəlcə bu keçidi niyə etdiyimizdən danışaq.
MyISAM yaxşı performansa malik olsa da, məlumat təhlükəsizliyi və paralel emalda çatışmazlıqlara malikdir.
InnoDB, məlumatların ardıcıllığını təmin edə və yüksək paralel vəziyyətləri idarə edə bilən əməliyyat dəstəyi təmin edir.
1. Məlumat bütövlüyü: InnoDB əməliyyatları dəstəkləyir və məlumatların ardıcıllığını təmin etmək üçün əməliyyatları geri qaytara bilər.
2. Paralelliyə nəzarət: InnoDB yüksək paralellik tətbiqləri üçün uyğun olan sıra səviyyəli kilidləmədən istifadə edir.
3. Xarici açar dəstəyi: InnoDB məlumatların istinad bütövlüyünə nail ola bilən xarici açarları dəstəkləyir.
MyISAM-ı InnoDB-yə toplu çevirmə üsulu
Biz bütün cədvəllər üçün konversiya ifadələrini yaratmaq və sonra hamısını bir anda icra etmək üçün bir SQL ifadəsindən istifadə edə bilərik.
Bu mürəkkəb səslənir, amma əslində olduqca sadədir. Cəmi bir neçə addım.
Addım 1: verilənlər bazası seçin
Birincisi, işləmək istədiyiniz verilənlər bazasını seçdiyinizə əmin olun. Aşağıdakı əmrlərdən istifadə edilə bilər:
mysql
USE 你要操作的数据库名;
Addım 2: Dönüşüm bəyanatlarını yaradın
Sonra, bütün MyISAM cədvəllərini InnoDB cədvəllərinə çevirən SQL ifadələrini yaratmalıyıq.
Bu, sorğu ilə edilə bilər information_schema.tables nail olmaq üçün cədvəl.
Aşağıdakı SQL ifadəsini işə salın:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE table_schema="你要操作的数据库名" AND ENGINE="MyISAM";Bu bəyanat hər MyISAM cədvəlinin yaddaş mühərrikini InnoDB-yə dəyişən ALTER TABLE ifadələri toplusunu yaradır.
Addım 3: Dönüşüm bəyanatını yerinə yetirin
Əvvəlki addımda yaradılan nəticələri kopyalayın və keçinAIBu, bizə sərhədləri asanlıqla süzgəcdən keçirməyə kömək edə bilər.
在GPT söhbətiAşağıdakıları daxil edin:
请帮我过滤以下边框:
+--------------------------------------------------------------+
| ALTER TABLE table1 ENGINE=InnoDB; |
| ALTER TABLE table2 ENGINE=InnoDB; |
| ALTER TABLE table3 ENGINE=InnoDB; |
+--------------------------------------------------------------+
Daha sonra MySQL-də işlədildikdə MySQL bütün MyISAM cədvəllərini InnoDB cədvəllərinə çevirmək üçün bu ALTER TABLE ifadələrini ardıcıllıqla yerinə yetirəcək.
Misal
Fərz edək ki, işləmək istədiyiniz verilənlər bazası adlanır example_db, aşağıdakı addımları yerinə yetirin:
- Verilənlər bazasını seçin:
USE example_db;
- Dönüşüm bəyanatı yaradın:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE table_schema="example_db" AND ENGINE="MyISAM";- Yaradılmış ifadəni kopyalayın və MySQL-də icra edin:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;
注意 事项
Bu toplu çevirmə əməliyyatını yerinə yetirməzdən əvvəl bir neçə məqamı qeyd etmək lazımdır:
1. Məlumatın ehtiyat nüsxəsi: Toplu çevrilməni həyata keçirməzdən əvvəl məlumat itkisinin qarşısını almaq üçün verilənlər bazasının tam ehtiyat nüsxəsini çıxardığınızdan əmin olun.
2. Test mühiti: Dönüşüm prosesinin tətbiqin normal fəaliyyətinə təsir etməyəcəyinə əmin olmaq üçün əvvəlcə sınaq mühitində sınaqdan keçirmək daha yaxşıdır.
3. Verilənlər bazası icazələri: ALTER TABLE əməliyyatlarını yerinə yetirmək üçün kifayət qədər verilənlər bazası imtiyazlarınız olduğundan əmin olun.
sonda
Yuxarıdakı addımlarla, MySQL verilənlər bazasındakı bütün MyISAM cədvəllərini asanlıqla toplu şəkildə InnoDB cədvəllərinə çevirə bilərik. Bunu etmək, verilənlər bazasının eyni vaxtda işləmə imkanlarını təkmilləşdirməklə yanaşı, məlumatların təhlükəsizliyini və bütövlüyünü də gücləndirə bilər.
Ümid edirəm ki, bu məqalə MySQL verilənlər bazasını daha yaxşı başa düşməyə və idarə etməyə kömək edə bilər. Hər hansı bir sualınız və ya təklifiniz varsa, şərh bölməsində bir mesaj buraxın.
Bütün bunlar MyISAM-ın InnoDB-yə toplu çevrilməsi ilə bağlıdır. İndi siz cəhd edə bilərsiniz!
🔧💡Necə istifadə edəcəyinizi bilmək istəyirsinizphpMyAdminInnoDB məlumat cədvəli növünü MyISAM standart mühərrikinə çevirin? Bu məqalə sizə çevrilməni asanlaşdırmaq üçün ətraflı addımlar və təlimatlar təqdim edir!
👇Oxumağa davam etməyiniz tövsiyə olunur👇
Daha çox verilənlər bazası çevirmə bacarıqlarını öyrənmək və verilənlər bazası idarəçiliyini optimallaşdırmaq üçün linkə klikləyin! 📚💻
Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) paylaşdı "MySQL verilənlər bazasını MyISAM-a InnoDB yaddaş mühərrikinə toplu şəkildə necə çevirmək olar?" 》, sizə faydalıdır.
Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-31790.html

