نصب MySQL در CentOS 7 موضوع نسخهٔ اولیهٔ این مقاله بود، اما CentOS Linux 7 در ۳۰ ژوئن ۲۰۲۴ به پایان پشتیبانی رسیده است. اعلام رسمی CentOS این وضعیت را مشخص میکند. برای سرور تازه، سیستمعامل پشتیبانیشده و نسخهٔ سازگار دیتابیس را انتخاب کنید.
چرا آموزش نصب MySQL در CentOS 7 تغییر کرده است؟
وجود فایل RPM قدیمی در اینترنت یا مخزن آرشیوی، پشتیبانی امنیتی سیستمعامل را برنمیگرداند. بستهٔ mysql80-community-release-el7-3 متعلق به مسیر قدیمی است و نباید روی EL9 یا EL10 نصب شود. عدد نسخهٔ سیستمعامل، معماری و شاخهٔ MySQL باید با هم سازگار باشند.
تصویر شاخص این صفحه مربوط به موضوع تاریخی CentOS 7 است؛ مراحل فعلی، نصب تازه روی آن سیستم منقضی را توصیه نمیکنند. اگر دیتابیس فعال دارید، افزودن مخزن جدید را با مهاجرت داده اشتباه نگیرید. ابتدا سازگاری برنامه، روش انتقال و امکان بازیابی را مشخص کنید.
انتخاب مخزن روی سیستم پشتیبانیشده
در صفحهٔ رسمی مخزن MySQL بستهٔ راهانداز متناسب با توزیع، نسخه و شاخهٔ مطلوب را انتخاب کنید. وجود بسته برای RHEL یا Oracle Linux به معنی تضمین پشتیبانی همهٔ مشتقها نیست؛ پلتفرم مقصد را در مستندات همان نسخه بررسی کنید.
فایل دریافتشده را با امضای معتبر بررسی و از مسیر رسمی نصب کنید. مقدار پیشفرض مخزن را از روی آموزش قدیمی حدس نزنید؛ چند شاخهٔ سرور را همزمان فعال نگذارید. پس از تنظیم مخزن، خروجیهای زیر باید نام و نسخهٔ مورد انتظار را نشان دهند:
dnf repolist --enabled
dnf info mysql-community-server
نصب تازه از مخزن Oracle
فقط روی سیستم سازگار و پس از تأیید مخزن، بستهٔ سرور Oracle با نام mysql-community-server نصب میشود. این نام با بستهٔ بومی برخی توزیعها تفاوت دارد. الگوی شروع سرویس در این مسیر:
sudo dnf install mysql-community-server
sudo systemctl start mysqld
systemctl status mysqld --no-pager
مستند نصب با مخزن MySQL توضیح میدهد که راهاندازی اولیه روی پوشهٔ دادهٔ خالی ممکن است رمز موقت root در لاگ خصوصی بسازد. این رمز را فقط محلی بخوانید و طبق همان مستند فوراً جایگزین کنید؛ محتوای لاگ یا رمز را در تیکت عمومی منتشر نکنید.
حساب برنامه و مجوز صحیح
بعد از ورود مدیریتی، برنامه را با حساب اختصاصی راهاندازی کنید. نمونهٔ زیر برای دیتابیس تازهٔ demoapp و کاربر محلی است. رمز نمونه را واقعاً جایگزین کنید و مجوزها را با نیاز برنامه تطبیق دهید:
CREATE DATABASE demoapp CHARACTER SET utf8mb4;
CREATE USER 'demoapp_user'@'localhost' IDENTIFIED BY 'REPLACE_WITH_A_UNIQUE_SECRET';
GRANT SELECT, INSERT, UPDATE, DELETE ON demoapp.* TO 'demoapp_user'@'localhost';
SHOW GRANTS FOR 'demoapp_user'@'localhost';
برای تغییر ساختار ممکن است مجوزهای دیگری لازم باشد؛ دسترسی سراسری یا GRANT OPTION را بیدلیل اضافه نکنید. طبق مرجع اثر مجوزها، پس از دستورهای استاندارد مدیریت حساب، FLUSH PRIVILEGES مرحلهٔ اجباری ذخیره نیست.
بازیابی رمز و کنترل نهایی
اجرای skip-grant-tables را «حالت ایمن» ننامید؛ این گزینه کنترل دسترسی معمول را کنار میگذارد و روش نصب عادی نیست. برای رمز فراموششده، فرایند رسمی بازیابی همان نسخه را در پنجرهٔ نگهداری دنبال کنید.
با حساب برنامه اتصال را آزمایش و نسخهٔ واقعی سرور را با SELECT VERSION() مشاهده کنید. پورت دیتابیس را عمومی باز نگذارید. موفقیت نصب بسته، مهاجرت داده، صحت برنامه و تنظیم دسترسی راه دور را خودکار تضمین نمیکند.
مطالعهٔ مرتبط
بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شدهاند.