در هنگام نصب MySQL روی اوبونتو، بهویژه در نسخههای جدیدتر، ممکن است با مشکلی مواجه شوید که اسکریپت mysql_secure_installation
به دلیل تنظیمات پیشفرض، احراز هویت کاربر root
بهدرستی اجرا نمیشود. این مسئله به این دلیل است که در نسخههای اخیر MySQL، از پلاگین auth_socket
برای احراز هویت کاربر root
استفاده میشود که با این اسکریپت امنیتی سازگاری ندارد.
چرا این مشکل رخ میدهد؟
-
بهطور پیشفرض، کاربر
root
در MySQL از پلاگینauth_socket
برای احراز هویت استفاده میکند. این پلاگین اجازه نمیدهد اسکریپتmysql_secure_installation
بهصورت خودکار فرآیند تنظیم رمز عبور را انجام دهد و ممکن است منجر به ایجاد یک «حلقه تکرار» (Recursive Loop) شود.
مراحل رفع مشکل
۱. ورود به محیط MySQL بدون رمز عبور
با اجرای دستور زیر، بدون نیاز به رمز عبور وارد محیط MySQL شوید:
۲. تغییر روش احراز هویت کاربر root
در محیط MySQL، دستور زیر را اجرا کنید تا پلاگین احراز هویت از auth_socket
به mysql_native_password
تغییر کند. رمز عبور دلخواه خود را جایگزین YourPassword
کنید:
۴. اجرای اسکریپت امنیتی
حالا میتوانید mysql_secure_installation
را بدون مشکل اجرا کنید:
-
در این مرحله، رمز عبوری که در مرحله ۲ تنظیم کردید را وارد کنید.
-
به سوالات امنیتی (مانند حذف کاربران ناشناس، غیرفعال کردن لاگین ریموت و ...) پاسخ دهید.
چرا این تغییر ضروری است؟
-
اسکریپت
mysql_secure_installation
برای افزایش امنیت پایگاه داده طراحی شده و مواردی مانند حذف دیتابیس تستی، قفل کردن دسترسی ریموت و تنظیم رمز عبور قوی را انجام میدهد. -
بدون تغییر روش احراز هویت، این اسکریپت قادر به انجام وظایف خود نخواهد بود!