MariaDB جایگزینی برای MySQL

نوشته شده توسط  شبکه البرز بازدید 1918 بار 23 تیر 1398

یکی از شعارهای معروف برای توصیف MariaDB این است: «MySQL کار را بهتر انجام می‌دهد.» یک پروژه پایگاه داده منبع باز معروف که یکی از سازندگان MySQL آن را توسعه داده است. MariaDB بدون نياز به اضافه کردن افزونه‌های خارجی به طور پیش‌فرض به قابلیت‌های قدرتمندی مجهز شده و بسیاری از بهینه‌سازی‌های اجرایی و امنیتی انجام شده آن در نسخه اصلی MySQL وجود ندارد. MariaDB را می‌توان جایگزینی برای MySQL در نظر گرفت. هر دوی آن‌ها موتورهای قدرتمندی برای اداره پایگاه داده هستند، اما MariaDB در عملکرد بهینه‌تر شده و در پاسخگویی به کوئری‌ها سریع‌تر عمل می‌کند و مهم‌تر از همه این‌که منابع کمتری مصرف می‌کند، بنابراین برای وب‌‌سایت‌های پربازدید و میزبان‌هایی که از تعداد زیادی وب‌سایت میزبانی می‌کنند، بسیار مطلوب خواهد بود. در این مقاله به مراحل مورد نیاز برای نصب و راه‌اندازی یک سرور MariaDB و تنظیمات مربوط به پیکربندی و به‌روزرسانی آن اشاره می‌شود.دریافت MariaDB نسخه 10.3

نسخه‌های اصلی فایل‌های باینری MariaDB در وب‌سایت اختصاصی آن به نشانی https://downloads.mariadb.org/ نگهداری می‌شود. تمام سیستم عامل‌های پشتیبانی‌‌شده در یک صفحه به همراه گزینه‌های گوناگون موجود برای هر سیستم‌‌‌عامل طبقه‌بندی شده است. همچنین در صورت تمایل به در اختیار داشتن کدهای منبع و کامپایل MariaDB می‌توانید از همین طریق آن‌ها را دریافت کنید که در بیشتر مواقع به انجام این کار نیازی ندارید.

چگونه MariaDB 10.3 را نصب کنیم

فرآیند نصب و راه‌‌اندازی MariaDB به میزان زیادی به سیستم‌عامل مقصد بستگی دارد.
• کاربران ویندوز می‌توانند هم بسته .MSI و هم فایل .ZIP مربوط را دانلود کنند. .MSI یک فرمت رسمی‌ برای نصب نرم افزار روی سیستم ویندوز است و فایل‌های آرشیو .ZIP را می‌توان داخل یک فولدر استخراج کرده و مستقیم از همانجا اجرا کرد. اما در زمان استفاده از نسخه آرشیو باید پیکربندی سیستم را شخصا انجام دهید، اما بسته .MSI نصب و پیکربندی MariaDB را از طریق یک رابط کاربری گرافیکی انجام می‌دهد.
• کاربران لینوکس امکان استفاده از فایل‌های فشرده شده .TAR و بسته‌های .DEB را برای توزیع‌های مبتنی بر اوبونتو و دبیان و همچنین بسته‌های .RPM برای توزیع‌های مبتنی بر ردهت و فدورا خواهند داشت. در ابتدا باید مخزن متناسب با توزیع لینوکس خود را پیکربندی کنید. همچنین این امکان وجود دارد تا MariaDB را از مخزن پیش‌فرض توزیع لینوکس نصب کنید، اما دیگر قادر به دسترسی به آخرین نسخه MariaDB در اینجا نخواهید بود.
• کاربران macOS می‌توانند از طریق سیستم مدیریت، بسته Homebrew را که شامل نسخه باینری از پیش کامپایل شده است از MariaDB دریافت کنند. توجه داشته باشید که برخی از اجزای تشکیل‌‌‌دهنده از جمله موتورهای پایگاه داده CONNECT و OQGRAPH در این بسته وجود ندارد و باید از طریق فرمان --build-from-source از منبع دریافت شود.
MariaDB ایمیج‌های داکر را برای لینوکس فراهم کرده است، اما همچنان باید از طریق فایل پیکربندی گزینه‌های مختلف MariaDB را تنظیم کرده و این داده‌ها را در مسیری غیر از مسیر پیش‌فرض استفاده شده توسط کانتینر نگهداری کنید. 

چگونه نسخه قبلی MariaDB را به‌روزرسانی کنیمدو روش برای به‌روزرسانی نسخه قبلی MariaDB وجود دارد: 
1. به‌روزرسانی درجا: فایل‌های باینری نسخه فعلی MariaDB با نسخه جدیدتر جایگزین می‌شود.
2. استخراج و تزریق دوباره: محتوای پایگاه داده نسخه قدیمی‌ استخراج شده و به نسخه جدید وارد می‌شود.
در صورت استفاده از هر کدام از این شیوه‌ها باید مطمئن شوید پایگاه‌های داده‌ای که به‌روزرسانی می‌کنید در آخر راه دچار مشکل عدم سازگاری نشوند. به همین دلیل، قبل از هر اقدامی‌ اسناد مربوط به‌روزرسانی MariaDB را مطالعه کنید. از آنجا که MariaDB در پلتفرم‌های مختلف با برخی از تفاوت‌های جزئی در معماری همراه است، فرآیند به‌روزرسانی به نقطه‌ای که از آن شروع می‌کنید، بستگی دارد. 

به‌روزرسانی در ویندوز 

بهترین شیوه به‌روزرسانی در ویندوز این است که نسخه جدید MariaDB را به موازات نسخه قدیمی‌ نصب کرده و نسخه قدیمی‌ را منحل کنید.
تا زمانی‌ که شماره نسخه‌ها تفاوت عمده با هم نداشته باشند، MariaDB از اجرای چند نسخه متفاوت در کنار یکدیگر پشتیبانی می‌کند. برای مثال، می‌توانید نسخه‌های 10.0 و 10.2 را در کنار یکدیگر اجرا کنید، اما چنین کاری برای نسخه‌های 10.2.6 و 10.2.7 امکان‌پذیر نیست. در اینجا نصب نسخه 10.2.7 به طور خودکار روی نسخه 10.2.6 بازنويسی شده و آن را ارتقا می‌دهد. تنها استثنا در این مورد نصب یک نسخه 32 بیتی در کنار یک نسخه 64 بیتی است که به دلیل ماهیت فنی متفاوت این دو امکان استفاده از دو نسخه با تغییر شماره جزئی در کنار یکدیگر وجود دارد. اگر می‌خواهید نصب یک نسخه جدید ارتقا را به صورت دستی انجام دهید، از ابزار خط فرمان mysql_upgrade استفاده کنید. این ابزار علاوه بر ارتقای نسخه‌های MySQL برای ارتقای MariaDB نیز قابل انجام است.

به‌روزرسانی در لینوکس 

در سیستم‌های لینوکس فرآیند ارتقا به حذف نسخه قدیمی‌ قبل از نصب نسخه جدید MariaDB نیاز دارد. قبل از انجام این کار باید با استفاده از ابزار Mysqldump (در صورتی که به‌روزرسانی را از MySQL  انجام می‌دهید) یا ابزار Mariabackup (در صورتی که قصد به‌روزرسانی از نسخه قبلی MariaDB  را دارید) یک نسخه پشتیبان کامل از پایگاه داده فعلی خود تهیه کنید.

چگونه MariaDB را پیکربندی کنیم 

تنوع گزینه‌های پیکربندی در MariaDB می‌تواند باعث سردرگمی‌ شود، اما خوشبختانه در زمان نصب اولیه یا فرآیند به‌روزرسانی به خیلی از این گزینه‌ها نیازی نخواهید داشت.
در بسیاری از موارد نصب‌‌کننده MariaDB به‌‌طور خودکار آن را به شکلی تنظیم می‌کند که در زمان راه‌‌اندازی سیستم اجرا شود. اگر قصد دارید به‌صورت دستی این کار را انجام دهید، از این فرمان استفاده کنید:

systemctl start mariadb.service
systemctl enable mariadb.service

یکی دیگر از کارهایی که MariaDB به‌‌طور پیش‌فرض در زمان نصب انجام می‌دهد، ساخت خودکار یک حساب کاربری با مجوز دسترسی محدود است. این کار در زمان شما برای تنظیم یک حساب کاربری صرفه جویی می‌کند.
اگر از نسخه آرشیو MariaDB برای نصب آن استفاده کرده باشید، برای ساخت و تنظیم جدول‌های سیستم MariaDB باید از اسکریپت mysql_install_db استفاده کنید.
ویرایش فایل پیکربندی MariaDB

نصب‌کننده گرافیکی ویندوز و اسکریپت‌های نصب لینوکس مهم‌ترین گزینه‌های مورد نیاز MariaDB را پیکربندی می‌کنند. در رابط گرافیکی ویندوز می‌توانید اغلب گزینه‌های عمومی‌ (مانند پورتی که MariaDB در آن اجرا می‌شود) را تغییر دهید، اما به طور خودکار پیش‌فرض‌های معقول برای تمام گزینه‌ها اعمال می‌شود.
این انتخاب‌ها در یک فایل پیکربندی نگهداری شده و توسط MariaDB مورد استفاده قرار می‌گیرد. محل ذخیره‌‌سازی این فایل به سیستمی‌ که شما از آن استفاده می‌کنید بستگی دارد. ساختار فایل‌های پیکربندی MariaDB و MySQL یکی است و می‌توان آن‌ها را با یکدیگر معاوضه کرد یا بخش‌هایی از یک نسخه از فایل پیکربندی را برای نسخه‌های دیگر استفاده کرد. اما بهتر است برای هر نسخه واحد از MariaDB و MySQL از یک فایل پیکربندی جداگانه استفاده کنید و آن‌ها را در مسیرهای جداگانه قابل شناسایی توسط هر موتور نگهداری کنید.

گزینه‌های اصلی پیکربندی MariaDB

اغلب گزینه‌های پیکربندی MariaDB 10 به اصلاح و تغییر نیازی ندارد. اما بعضی از تنظیمات از جمله پروتکل‌های امنیتی و اتصال را از طریق رابط گرافیکی نصب یا ویرایش فایل پیکربندی باید تنظیم کنید. در ادامه با برخی از آن‌ها آشنا خواهید شد:

پروتکل‌های اتصال در MariaDB

MariaDB، اتصالات ورودی به این سرور را از چند روش می‌پذیرد.
• TCP/IP: متداول‌ترین و قابل فهم‌ترین شیوه اتصال به یک سرور MySQL است، زیرا امکان اتصال را از دو طریق محلی و راه دور فراهم می‌کند. اما از طرفی به دلیل ماهیت این پروتکل کندترین روش اتصال محسوب می‌شود. در هر شرایطی وقتی شما به اتصال از راه دور به سرور نیاز دارید، TCP/IP ساده‌ترين راهکار موجود است.
• سوکت و پایپ لینوکس: سوکت و پایپ زمان‌هایی بهترین گزینه برای استفاده محسوب می‌شود که کلاینت و سرور در یک سیستم باشند، زیرا در این صورت تبادل داده بین سرور و کلاینت با حداکثر سرعت انجام می‌شود.
• حافظه اشتراکی: سریع‌ترین گزینه برای ارتباط بین سرور و کلاینت و کم انعطاف‌‌‌‌‌‌‌پذیرترین شیوه استفاده از حافظه اشتراکی است. این روش تنها زمانی قابل استفاده است که کلاینت و سرور در یک سیستم فیزیکی یکسان قرار گرفته باشد.

گزینه‌های لاگ‌‌گیری در MariaDBعلاوه بر لاگ گرفتن از خطاها که همیشه به طور پیش‌فرض فعال است، MariaDB می‌تواند سه نوع دیگر از لاگ را مدیریت کند. توجه داشته باشید که همه آن‌ها به طور پیش‌‌فرض غیرفعال هستند.
• General query log: جزئیاتی دقیق از فعالیت‌های MySQL از زمان آغاز به کار تا خاموش شدن سرور توسط این لاگ جمع آوری می‌شود.
• Slow query log: هر کوئری که اجرای آن بیشتر از مدت زمانی مشخص که در فایل پیکربندی تنظیم می‌شود، به طول بیانجامد برای عیب‌یابی و بهینه‌سازی بعدی جمع آوری می‌شود.
• Binary log: این لاگ حاوی استخراج و تغییرات انجام گرفته در فایل‌های باینری پایگاه داده است.
موتورهای ذخیره‌سازی مستقل مانند MyISAM لاگ‌های اختصاصی خود را نگهداری می‌کنند و بخشی از خود MariaDB نخواهند بود.
در حالت پیش‌فرض لاگ‌ها به طور خودکار پاک‌سازی نخواهند شد و هر از گاهی باید با استفاده از اسکریپت Mysql-Log-Rotate آن‌ها را پاک کرد. 
چگونه از MySQL به MariaDB کوچ کنیم 

اگر قصد دارید از پایگاه داده MySQL فعلی خود به یک نسخه جدید نصب شده MariaDB کوچ کنید، قوانین آن ساده است. ابتدا یک نسخه پشتیبان کامل از داده‌های خود تهیه کرده و کرده آخرین نسخه MariaDB را نصب کنید. 
اگر می‌خواهید ابتدا MySQL را حذف کرده و MariaDB را نصب کنید، باید ابزار Mysql_Upgrade را اجرا کرده تا اطمینان حاصل کنید که پایگاه‌های داده‌تان با MariaDB سازگار شود. همچنین باید قبل از انتقال مقاله مربوط به ناسازگاری‌های شناخته شده با نسخه‌های مختلف MySQL را در وب‌سایت MariaDB مطالعه کنید تا قبل از مهاجرت از تمام جنبه‌های آن مطلع شوید. سرانجام، اگر از یک اپلیکیشن کلاینت MySQL مانند Database Workbench استفاده می‌کنید، این اپلیکیشن به احتمال زیاد با کمی‌ تغییرات در تنظیمات آن با MariaDB کار خواهد کرد؛ ممکن است با هشدارهایی در مورد عدم سازگاری مواجه شوید، اما با انتخاب یک شیوه درست برای اتصال به MariaDB بیشتر بخش‌های Workbench کار خود را به خوبی انجام خواهد داد.

نویسنده: محسن آقاجانی -شبکه

نظرات کاربران

تصویر امنیتی تصویر امنیتی جدید