learn

نصب MySQL در اوبونتو؛ اتصال محلی و ساخت کاربر برنامه

راهنمای نصب اولیهٔ MySQL و اتصال امن برنامه روی Ubuntu، همراه با نمونهٔ SQL صحیح.

نصب MySQL در اوبونتو را با نسخه و مخزن مشخص شروع کنید. MySQL یک سامانهٔ مدیریت پایگاه دادهٔ رابطه‌ای است؛ نسخهٔ بستهٔ Ubuntu لزوماً همان نسخهٔ مخزن Oracle نیست. این راهنما برای نصب تازه روی سرور مستقل است و دستور ارتقای دیتابیس موجود یا جایگزینی MariaDB نیست.

پیش از نصب MySQL در اوبونتو

نیاز نسخه‌ای برنامه، فضای دیسک، روش نگهداری داده و سرویس موجود را بررسی کنید. اگر کنترل‌پنل مسئول دیتابیس است، از مسیر مدیریت همان پنل استفاده کنید. نصب هم‌زمان بسته‌های چند مخزن می‌تواند وابستگی‌ها و فرایند ارتقا را پیچیده کند.

ادعاهایی مانند «آخرین به‌روزرسانی MySQL در سال ۲۰۱۹ بوده» دیگر مبنای انتخاب نیستند. نسخهٔ واقعی و سازگاری برنامه را از خروجی بسته و خود سرور بخوانید، نه از تصویر یک آموزش قدیمی.

نصب بسته و مشاهدهٔ وضعیت

برای مخزن Ubuntu، ابتدا فهرست بسته‌ها را تازه و نسخهٔ نامزد را بررسی کنید. سپس بسته را نصب کنید؛ راهنمای MySQL در Ubuntu مرجع تنظیمات این توزیع است.

sudo apt update
apt policy mysql-server
sudo apt install mysql-server
systemctl status mysql --no-pager

اگر سرویس فعال نیست، پیام خطا و journal همان سرویس را بررسی کنید. شروع سرویس، فعال‌بودن هنگام بوت و راه‌اندازی دوباره سه مفهوم متفاوت‌اند؛ systemctl enable به معنی restart نیست. نسخهٔ ابزار خط فرمان هم لزوماً نسخهٔ سرور متصل‌شده نیست.

ورود محلی با سوکت یا رمز

در نصب معمول بستهٔ Ubuntu، مدیریت محلی root می‌تواند با auth_socket انجام شود. در این حالت دستور زیر با مجوز sudo وارد می‌شود و الزاماً رمز MySQL نمی‌خواهد:

sudo mysql

احراز هویت سوکت هویت کاربر سیستم‌عامل را برای اتصال محلی بررسی می‌کند؛ با حساب بدون محافظت یکسان نیست. اگر روش نصب شما از رمز استفاده می‌کند، با mysql -u root -p وارد شوید و رمز را در درخواست تعاملی بنویسید، نه کنار گزینهٔ خط فرمان.

ساخت دیتابیس و حساب برنامه

داخل محیط MySQL، مثال زیر یک دیتابیس تازه و کاربر محلی با مجوزهای داده ایجاد می‌کند. مقدار رمز فقط جای‌نگهدار است و باید با رمز یکتای واقعی جایگزین شود؛ آن را در گزارش عمومی یا کد مخزن قرار ندهید.

CREATE DATABASE appdb CHARACTER SET utf8mb4;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'REPLACE_WITH_A_UNIQUE_SECRET';
GRANT SELECT, INSERT, UPDATE, DELETE ON appdb.* TO 'appuser'@'localhost';
SHOW GRANTS FOR 'appuser'@'localhost';

این مجوزها برای نصب یا تغییر ساختار همهٔ برنامه‌ها کافی نیستند. فقط قابلیت‌های لازم مستند برنامه را اضافه کنید؛ از root یا GRANT ALL روی *.* برای اتصال روزمره استفاده نکنید. مرجع مدیریت حساب‌ها ساخت حساب را از اعطای مجوز جدا می‌کند.

ایمن‌سازی و شبکه

mysql_secure_installation ابزار بررسی برخی تنظیمات اولیه است؛ کلمهٔ اضافی utility جزو فرمان نیست. طبق مستند ابزار، پرسش‌ها دربارهٔ حساب‌ها و دادهٔ آزمایشی‌اند و باید با وضعیت واقعی پاسخ داده شوند. اجرای آن جای محدودسازی شبکه و نگهداری منظم را نمی‌گیرد.

اگر برنامه روی همان سرور است، پورت 3306 را به اینترنت باز نکنید. اتصال راه دور به حساب محدود، مبدأ مشخص، تنظیم listen و TLS متناسب نیاز دارد. برای آزمون نهایی با حساب برنامه وصل شوید، SELECT VERSION() را اجرا کنید و عملیات مجاز مورد نیاز را بررسی کنید. بعد از CREATE USER و GRANT معمولاً FLUSH PRIVILEGES لازم نیست؛ زمان اثر تغییر مجوزها به نوع دستور و نشست بستگی دارد.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب