آیا تا به حال برای شما پیش آمده که نیاز داشته باشید یک جدول و یا همه جداول یک پایگاه داده MySQL را از MyISAM به InnoDB یا برعکس تبدیل کنید؟ در این مطلب آموزشی در زاگریو ، قصد داریم تا روشهای این تبدیل را به شما کاربران و دارندگان سرور ، آموزش دهیم، تا در مدیریت سرور خود دچار مشکل نشوید.
تبدیل جداول یک یا چند پایگاه داده از MyISAM به InnoDB و برعکس
در اینجا چند کوئری وجود دارد، که میتوانید برای دستیابی به چنین نتایجی از آنها استفاده کنید. همانطور که متوجه خواهید شد، آنها دستورات را اجرا نمیکنند – آنها اساساً لیستی از کوئریهای واقعی را ایجاد میکنند، که باید برای اجرای واقعی تغییر، انجام دهید، بنابراین میتوانید آن را درست قبل از اجرای آن بررسی کنید. برای اجرای این کوئریها، کافی است سطر به دست آمده را برش دهید و آنها را اجرا کنید.
برای تبدیل تمام جداول InnoDB DBNAME به MyISAM
1 2 |
SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,' ENGINE=MyISAM;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'DBNAME' AND ENGINE = 'InnoDB' AND TABLE_TYPE = 'BASE TABLE' |
برای تبدیل تمام جداول MyISAM DBNAME به InnoDB
1 2 |
SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME,' ENGINE=InnoDB;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'DBNAME' AND ENGINE = 'MyISAM' AND TABLE_TYPE = 'BASE TABLE' |
برای تبدیل تمام جداول InnoDB به MyISAM (همه پایگاه های داده)
1 2 |
SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' engine=MyISAM;') FROM information_schema.TABLES WHERE ENGINE = 'InnoDB'; |
برای تبدیل تمام جداول MyISAM به InnoDB (تمام پایگاه های داده)
1 2 |
SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' engine=InnoDB;') FROM information_schema.TABLES WHERE ENGINE = 'MyISAM'; |
اگر نیاز به انجام این کار در یک پایگاه داده دارید، نام پایگاه داده خود را جایگزین DBNAME کنید. اگر لازم است این کار را در چندین پایگاه داده انجام دهید، یک یا چند شرط OR اضافی را به WHERE اضافه کنید و اجازه دهید MySQL بقیه را انجام دهد.
نکته : توجه داشته باشید که این دستورات لیستی از کوئریها را ایجاد میکنند، که باید آنها را اجرا کنید، تا در واقع تبدیل را انجام دهید، به این معنی که پس از آن باید آنها را به صورت دستی اجرا کنید.
کلام آخر…
در این مطلب، شما را با آموزش تبدیل جداول یک یا چند پایگاه داده از MyISAM به InnoDB و برعکس، آشنا کردیم، ولی توجه کنید که اگر مشکلی در سرور، دامنه و یا هاست شما پپش آمد، پشتیبانی ۲۴ ساعته حرفهای و تخصصی زاگریو، در خدمت شما کاربران عزیز است.
همچنین زاگریو خدماتی چون : خرید سرور ، خرید دامنه و خرید هاست و … را نیز به شما ارائه خواهد داد.
بدون دیدگاه