معرفی MariaDB
MariaDB یک سرور پایگاه داده رابطهای متنباز است که از فورک MySQL به وجود آمده است. با اکثریت قریببهاتفاق برنامههایی که برای MySQL نوشته شدهاند (WordPress، Nextcloud، Laravel، Django، Matomo و بسیاری دیگر) سازگار است و با SQL استاندارد کنترل میشود.
هنگام تحویل، بسته mariadb-server از مخازن توزیع شما (Debian 12، Debian 13، Ubuntu 20.04، 22.04 یا 24.04) نصب شده است. سرویس mariadb فعال و راهاندازی شده است، پس پس از reboot خودش دوباره بالا میآید. نسخه دقیق به توزیع انتخابشده بستگی دارد.
بهطور پیشفرض MariaDB فقط روی 127.0.0.1:3306 گوش میدهد. هیچ چیز روی اینترنت در معرض دید نیست: نقطه شروع خوبی است و برای برنامههای میزبانیشده روی همان VPS مناسب است. با sudo mariadb بهعنوان root محلی وصل میشوید.
با MariaDB چه کارهایی میتوانید انجام دهید
نصبشده از مخازن رسمی
بسته از مخازن توزیع میآید، که بهروزرسانیهای امنیتی را از طریق
aptمثل بقیه سیستم تضمین میکند.سرویس فعال در راهاندازی
سرویس
mariadbباsystemctl enable --nowاجرا میشود. از لحظه تحویل در حال اجراست و پس از هر راهاندازی مجدد VPS دوباره بالا میآید.گوشدادن محدود به localhost
پورت 3306 فقط از خود سرور (127.0.0.1) در دسترس است. تا زمانی که خودتان تصمیم نگیرید، پایگاه دادهتان از بیرون دیده نمیشود.
کلاینت خط فرمان
دستور
sudo mariadbیک نشست SQL با root محلی باز میکند، بدون رمز عبوری که باید پیدا کنید، برای ساختن پایگاههای داده و کاربران.سازگار با MySQL
کانکتورها و ابزارهای رایج MySQL با MariaDB کار میکنند. انتقال یک برنامه موجود معمولاً به تغییرات کمی نیاز دارد.
موتور تراکنشی InnoDB
تراکنشهای ACID، کلیدهای خارجی و قفلگذاری در سطح ردیف برای برنامههای وب، APIها یا ابزارهای داخلی که زیاد مینویسند.
شروع کار با MariaDB
از سفارش تا راهاندازی نهایی، در چند دقیقه.
- 1
VPS را همراه با MariaDB سفارش دهید
یک VPS لینوکس در پاریس یا فرانکفورت انتخاب کنید، Debian یا Ubuntu را برگزینید، سپس در تب «Applications» فرم سفارش، MariaDB را تیک بزنید.
- 2
به سرور تحویلشده وصل شوید
پس از تحویل VPS، با اطلاعات دسترسی دریافتی با SSH وارد شوید، سپس کلاینت MariaDB را با root محلی باز کنید. پیام پایان نصب همین دستور را نشان میدهد.
Bashssh USER@SERVER_IP sudo mariadb - 3
یک پایگاه داده و یک کاربر بسازید
از root در برنامههایتان استفاده نکنید. یک پایگاه داده اختصاصی و یک کاربر محدود به همان پایگاه داده بسازید، با رمز عبوری طولانی و منحصربهفرد.
Bashsudo mariadb -e "CREATE DATABASE app_db CHARACTER SET utf8mb4; CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD'; GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES;" - 4
برای production امنسازی کنید
راهنمای سختسازی را اجرا کنید (mysql_secure_installation روی Ubuntu 20.04)، پورت 3306 را در فایروال بسته نگه دارید و بکاپهای منظم زمانبندی کنید. اگر دسترسی از راه دور لازم است، از تونل SSH استفاده کنید.
Bashsudo mariadb-secure-installation sudo mariadb-dump --all-databases > backup.sql
کاربردهای MariaDB
پایگاه داده برای یک سایت یا CMS
WordPress، Nextcloud یا یک برنامه Laravel را روی همان VPS نصب کنید و آنها را به
localhostاشاره دهید. پایگاه داده خصوصی میماند، بدون پورت باز.بکاند API و برنامهها
پایگاه داده یک برنامه Node.js، Python یا PHP را با جدولها، ایندکسها و تراکنشهایش روی سروری که کاملاً کنترل میکنید میزبانی کنید.
محیط توسعه یا تست
پایگاه داده production را بازتولید کنید تا پیش از دستزدن به دادههای واقعی، یک مهاجرت اسکیما یا ارتقای نسخه را آزمایش کنید.
ذخیرهسازی دادههای کسبوکار
دادههای گزارشگیری، پیگیری سفارشها یا ابزارهای داخلی را در یک پایگاه داده SQL متمرکز کنید، با خروجیگیری منظم توسط
mariadb-dump.
پرسشهای متداول درباره MariaDB
خیر. بر اساس recipe نصب، MariaDB فقط روی 127.0.0.1:3306 گوش میدهد. فقط برنامههای روی سرور و نشست SSH شما میتوانند به آن برسند. برای دسترسی از رایانه خودتان، از تونل SSH استفاده کنید.
درباره MariaDB بیشتر بدانید
محلی ماندن یا باز کردن دسترسی
اگر برنامه شما روی همان VPS اجرا میشود، چیزی را تغییر ندهید: گوشدادن روی 127.0.0.1 امنترین تنظیم است. برای مدیریت پایگاه داده از رایانه خودتان (DBeaver، HeidiSQL، یک کلاینت خط فرمان)، بهجای پورت عمومی از تونل SSH استفاده کنید:
ssh -L 3306:127.0.0.1:3306 USER@SERVER_IP
سپس روی ماشین خودتان به 127.0.0.1:3306 وصل میشوید. اگر واقعاً باید اتصالهای از راه دور را بپذیرید، پارامتر bind-address سرور را تغییر دهید، کاربرانی بسازید که به یک IP مشخص وابستهاند و پورت 3306 را در فایروال به همان IP محدود کنید.
بکاپها
برای بیشتر پایگاههای داده کوچک یک dump منطقی کافی است. در نسخههای قدیمی (Ubuntu 20.04) این دستور mysqldump نام دارد.
sudo mariadb-dump --single-transaction --all-databases | gzip > /root/backup-$(date +%F).sql.gz
آن را با cron زمانبندی کنید، سپس آرشیو را به خارج از سرور کپی کنید. بکاپی که روی همان دیسک بماند شما را در برابر خرابی VPS محافظت نمیکند. بهطور منظم یک بازیابی را آزمایش کنید.
تطبیق پیکربندی با رم
تنظیمات پیشفرض محتاطانهاند. روی VPSی که مخصوص پایگاه داده است، مهمترین پارامتر innodb_buffer_pool_size است که مقدار داده نگهداریشده در حافظه را تعیین میکند. مقداری بین 50 تا 70 درصد رم نقطه شروع رایجی است. سپس پیش از رفتن به مرحله بعد، مصرف حافظه را زیر نظر بگیرید. برای آموزشهای بیشتر، بخش /learn را ببینید.