WIUNIX ACADEMY
چرا ALTER در MySQL با LOCK=NONE هم منتظر میماند؟
صفحهٔ 3 از 3؛ مراحل قبلی و پیشنیازها را پیش از ادامه مرور کن.
آموزش متناسب با محیط تو
کجا اجرا میکنی؟
سیستمعامل و نسخه را انتخاب کن تا مراحل، دستورها و راهحلها برای همان محیط نمایش داده شوند.
آموزش متناسب با مقادیر تو
تنظیمات این آموزش
مقادیر نمونه را برای محیط خودت تنظیم کن؛ متن و دستورهای مرتبط با هم تغییر میکنند. رمز، کلید خصوصی و توکن وارد نکن. مقادیر فقط در همین زبانه نگهداری میشوند و به سرور یا لینک اشتراکگذاری فرستاده نمیشوند. پیش از اجرا، DNS، گواهیها و سیاست شبکهٔ واقعی را بررسی کن.
آیپی، دامنه یا پورت مثالها با محیط تو فرق دارد؟ دکمهٔ زیر را باز کن، مقادیر را تغییر بده و «اعمال در آموزش» را بزن؛ سپس دستورهای بهروزشده را کپی کن.
تنظیم مقادیر برای محیط من3 مقدار قابلتغییر
برای جدول واقعی، برنامهٔ تغییر جدا لازم است
پیش از تغییر واقعی، نسخه و موتور، پشتیبانی همان عملیات، تراکنشهای طولانی، مدت مجاز انتظار، فضای جدول و فایل موقت، فشار redo و online-alter-log، وضعیت replica و رفتار برنامه پشت DDL صفشده را بررسی کنید.
INPLACE الزاماً سبک نیست و ممکن است داده را بازسازی کند. INSTANT هم به نوع عملیات و نسخه وابسته است و جایگزین همگانی نیست. مهلت قفل فقط انتظار را محدود میکند؛ وقتی قفل گرفته شد، تضمینی دربارهٔ کوتاهبودن زمان اجرای خود عملیات نمیدهد.
قدم بعدی
فقط ایندکس آزمایشی را حذف و نشستها را ببندید
فقط همان ایندکس ثانویهای را که در تمرین ساختهاید حذف کنید. ابتدا نام و تعریف آن را بررسی کنید؛ این دستور برای حذف جدول یا دادهها نیست. DDL میتواند تراکنش باز را بهطور ضمنی commit کند؛ قبل از اجرا از بستهبودن تراکنشهای دیگر همین نشست مطمئن شوید.
schema و جدول برای پاکسازی دقیق با نظر مسئول محیط باقی میمانند. این مقاله DROP گسترده یا kill اتصال نمیدهد. زمانها، شناسههای اتصال، وضعیت قفل، خطا و تعریف نهایی جدول، شواهد قابلاستفادهٔ این تمریناند.
نشست B در MySQL آزمایشی
ALTER TABLE mdl_probe DROP INDEX idx_category,ALGORITHM=INPLACE,LOCK=NONE;
SHOW CREATE TABLE mdl_probe;
quitفقط ایندکس همین مثال حذف شده است؛ schema و اتصال نامرتبطی تغییر یا قطع نشده است.
پشتوانهٔ این آموزش
منابع رسمی
وضعیت بررسی هر محیط بالای صفحه مشخص است؛ بررسی مستندات به معنی اجرای عملی همهٔ نسخهها نیست.
- MySQL 8.4: همزمانی DDL آنلاین
- MySQL 8.4: قفل فراداده
- MySQL 8.4: عملیات DDL آنلاین
- MySQL 8.4: نمای انتظار قفل جدول
- MySQL 8.4: علتهای شکست DDL آنلاین
- MySQL: فهرست رسمی سیستمعاملهای پشتیبانیشده
- سازگاری و مسیر نصب MySQL / APT
- سازگاری و مسیر نصب MySQL / Yum
- Red Hat: بررسی خطاهای دسترسی SELinux
- Red Hat: بررسی و مدیریت firewalld
ادامهٔ مسیر