Məqalələr kataloqu
Bu məqalədə, MySQL verilənlər bazalarında MyISAM-ın InnoDB yaddaş mühərriklərinə toplu çevrilməsi üçün ən yaxşı təcrübələri araşdıracağıq .
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.
Ətraflı addımlarımızı izləməklə, MySQL verilənlər bazanızı asanlıqla InnoDB yaddaş mühərrikinə çevirə və bununla da performansı artıra, məlumatların təhlükəsizliyini və bütövlüyünü təmin edə biləcəksiniz .

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əlumatların Bütövlüyü: InnoDB, geri qaytarma əməliyyatlarına imkan verən və məlumatların ardıcıllığını təmin edən əməliyyatları dəstəkləyir.
2. Paralellik nəzarəti: InnoDB, yüksək paralellik tətbiqləri üçün uyğun olan sətir 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ü təmin edə 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əni kopyalayın və süni intellekt sərhədləri asanlıqla süzgəcdən keçirməyə kömək edə bilər.
ChatGPT -də aş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əlumatların Yedəklənməsi: Toplu çevrilməni həyata keçirməzdən əvvəl, məlumatların itirilməsinin qarşısını almaq üçün verilənlər bazasının tam ehtiyat nüsxəsinin çıxarıldığından əmin olun.
2. Test mühiti: Çevirmə prosesinin tətbiqin normal işləməsinə təsir göstərməyəcəyinə əmin olmaq üçün əvvəlcə test mühitində sınaqdan keçirmək ən yaxşısıdır.
3. Verilənlər bazası icazələri: ALTER TABLE əməliyyatını yerinə yetirmək üçün kifayət qədər verilənlər bazası icazənizin 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!
🔧💡phpMyAdmin istifadə edərək InnoDB cədvəl növlərini standart MyISAM mühərrikinə necə çevirəcəyinizi bilmək istəyirsiniz ? Bu məqalədə çevirməni asanlıqla başa çatdırmağınıza kömək edəcək ətraflı addımlar və təlimatlar təqdim olunur!
👇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! 📚💻
Ümid edirəm ki, Chen Weiliang-ın bloqunda ( https://www.chenweiliang.com/ ) paylaşılan "MySQL verilənlər bazalarında MyISAM-ı InnoDB saxlama mühərrikinə necə toplu şəkildə çevirmək olar?" məqaləsi sizə faydalı olacaq.
Bu məqalənin linkini paylaşmaqdan çəkinməyin: https://www.chenweiliang.com/cwl-31790.html

