دیتابیس MariaDB چیست و چگونه می‌توانید آن را نصب کنید؟

پایگاه داده MARIADB

آنچه در مقاله می‌خوانید

دیتابیس MariaDB یک سیستم مدیریت پایگاه داده رابطه‎‌ای منبع‎‌باز (DBMS) است که جایگزینی برای فناوری دیتابیس MySQL به شمار می‌رود. این دیتابیس توسط توسعه‌‎دهندگانی که نقش کلیدی در ساخت پایگاه داده اصلی داشتند، به عنوان یک فورک نرم‌‎افزار MySQL ساخته شد. این توسعه‎‌دهندگان، MariaDB را در پاسخ به خرید MySQL توسط Oracle Corp در سال 2009 ایجاد کردند.

در ادامه، می‌خواهیم به دیتابیس MariaDB و نحوه نصب آن در اوبونتو بپردازیم.

MariaDB چیست؟

دیتابیس MARIADB چیست

برای آشنایی کامل با MariaDB، باید یک شناخت مختصر از دیتابیس داشته باشید و بدانید که دیتابیس چیست و چه کاری انجام می‌دهد.

سرور MariaDB یکی از محبوب‌ترین سرور‌های پایگاه داده در جهان است. این سرور، توسط همان توسعه‌‎دهندگانی ساخته شده که پایگاه داده MySQL را ایجاد کرده‌اند. سازندگان دیتابیس MariaDB تضمین کرده‌اند که این سرور پایگاه داده برای همیشه به صورت منبع‌‎باز باقی می‌ماند.

از کاربران شناخته‎‌شده دیتابیس MariaDB می‌توان به Google، Wikipedia و WordPress.com اشاره نمود. کار MariaDB این است که داده‌ها را در طیف گسترده‌ای از برنامه‌ها (از بانکداری گرفته تا وب‎سایت‌‎ها) به اطلاعات ساختار یافته تبدیل کند. این دیتابیس بسیار سریع، قوی و مقیاس پذیر بوده و شامل یک اکوسیستم غنی از موتورهای ذخیره‌سازی، پلاگین‌ها و بسیاری از ابزار‌های دیگر است.

به عبارتی دیگر، MariaDB به عنوان یک دیتابیس رابطه‌ای، یک رابط SQL برای دسترسی ایمن به داده‌ها را فراهم می‌کند.

مقایسه MariaDB و MySQL

مقایسه دیتابیس MARIADB و MySQL

با وجود اینکه ساختار MariaDB و MySQL مشابه یکدیگر هستند، اما چندین تفاوت کلیدی بین آن‌ها وجود دارد. در ادامه به بررسی تفاوت‌های دیتابیس MariaDB و دیتابیس MySQL می‌پردازیم…

موتورهای ذخیره‌سازی:  MariaDB دارای 12 موتور ذخیره‌سازی جدید است که این موتورها، در MySQL پیدا نمی‌شود. به عبارت دیگر، MySQL گزینه‌های ذخیره‌سازی کمتری نسبت به MariaDB دارد.

سرعت: سرعت ماریا دی‌بی نسبت به MySQL بسیار بیشتر است.

سال انتشار اولیه: MySQL در سال 1995 و MariaDB در سال 2009 منتشر شدند.

سیستم ‎عامل سرور: سیستم‎ عامل‌های سرور ماریا دی‌بی شامل FreeBSD، Linux، macOS، Solaris، Windows و سیستم‎ عامل‌های سرور MySQL شامل FreeBSD، Linux، OS X، Solaris و Windows هستند.

کش/ایندکس: با موتور ذخیره‌سازی حافظه دیتابیس MariaDB، دستور INSERT تا ۲۴٪ سریع‌تر از MySQL اجرا می‌شود.

استخر اتصال (Connection Pool): ماریا دی‌بی دارای یک استخر اتصال thread pool پیشرفته است که می‌تواند سریع‌تر از MySQL اجرا شده و از بیش از 200000 اتصال همزمان پشتیبانی می‌کند.

پاسخ بهبود‎یافته: پاسخ‌ها در MariaDB سریع‌تر و ایمن‌تر از MySQL هستند. همچنین، به‎روزرسانی‌ها در MariaDB سریع‌تر از MySQL است.

افزونه ها/ویژگی‌ها: MariaDB دارای افزونه‌ها و ویژگی‌های جدیدتری نسبت به MySQL است. برخی از این ویژگی‌ها که در دیتابیس MySQL وجود ندارند عبارتند از دستورات WITH، JSON و KILL. البته دیتابیس MariaDB برخی از ویژگی‌های سازمانی MySQL را ندارند.

Priority code: پایگاه داده MariaDB اجازه دسترسی کاربران به این محتوای اختصاصی را نمی‌دهد. MySQL در نسخه Enterprise خود از برخی proprietary code‌ها استفاده می‌کند.

Data Masking : Data Masking در MySQL انجام می‌شود. این قابلیت در MariaDB وجود ندارد.

ستون‌های پویا: ستون‌های پویا در MySQL قابل دسترسی هستند، اما در MariaDB چنین قابلیتی وجود ندارد.

نظارت: نظارت در MariaDB توسط SQLyog و در MySQL توسط MySQL workbench انجام می‌شود.

مسیریابی: مسیریابی در MariaDB توسط MariaDB MaxScale و در MySQL توسط Mysql Router انجام می‌شود.

تجزیه و تحلیل: سیستم تجزیه و تحلیل در MariaDB توسط MariaDB ColumnStore انجام می‌شود. این قابلیت در MySQL وجود ندارد.

مدل پایگاه داده ثانویه: در MariaDB شامل Document store و Graph DBMS و در MySQL فقط شامل Document store می‌شود.

تعداد امتیاز (ستاره) در گیت ‎هاب: در سایت گیت‎هاب به دیتابیس MariaDB حدود 2.8K و به MySQL حدود 4K امتیاز داده شده است.

فورک: MariaDB دارای 868 و MySQL دارای 1.6K انشعاب یا فورک هستند.

نصب MariaDB در اوبونتو

نصب MARIADB در اوبونتو

نصب ماریا دی بی در لینوکس اوبونتو با چند گام ساده انجام می‌شود. خلاصه‌ترین راه برای این کار، شامل 3 مرحله است:

  • package index خود را با استفاده از دستور apt به روزرسانی کنید.
  • پکیج mariadb-server را با استفاده از دستور apt دانلود کنید.
  • برای محدود کردن دسترسی به سرور، اسکریپت امنیتی mysql_secure_installation را اجرا کنید.

در این آموزش، ما نحوه نصب بر روی سرور ابونتو 20.04 را توضیح می‌دهیم. شما می‌توانید این دیتابیس را بر سرور مجازی لینوکس نیز نصب و اجرا کنید.

مرحله 1:

برای نصب نصب MariaDB در ابونتو، باید package index را با استفاده از دستور apt بر روی سرور خود به روز رسانی کنید:

sudo apt update

سپس، پکیج را با استفاده از کد زیر دانلود کنید:

sudo apt install mariadb-server

در قدم بعدی، باید مطمئن شوید که دیتاسبیس با دستور systemctl start اجرا می‌شود:

sudo systemctl start mariadb.service

با استفاده از دستورات بالا، می‌توانید MariaDB را بر روی سرور اختصاصی خود نصب و راه‎اندازی نمایید؛ اما در این روش، از شما درخواست تغییر پیکربندی یا تعیین رمز عبور نمی‌شود. از آنجایی که پیکربندی پیش‎فرض MariaDB برای شما ناامن است، بهتر است از اسکریپتی که در پکیج mariadb-server  برای محدو‌دسازی دسترسی به سرور و حذف حساب‌های استفاده نشده قرار دارد، استفاده کنید. در مرحله بعدی، به نصب این اسکریپت می‌پردازیم.

مرحله 2:

گام بعدی در نصب MariaDB در ابونتو، اجرای اسکریپت امنیتی است. این اسکریپت، به شما کمک می‌کند تا امنیت ورود به سیستم از راه دور و کاربران نمونه را افزایش دهید. برای اینکار، اسکریپت امنیتی زیر را اجرا کنید:

sudo mysql_secure_installation

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

Output

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

  	SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

از آنجایی که در حال حاضر هیچ رمز عبوری ندارید، کلید “ENTER” را فشار دهید تا گزینه “none” انتخاب شود.

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

Output

. . .

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

Set root password? [Y/n] N

پس از مشاهده اعلان بالا،  حرف “N” را تایپ کرده و کلید “ENTER” را فشار دهید.

اگر می‌خواهید تمام پیش‎فرض‌ها برای سوالات بعدی را بپذیرید، کلید “Y” و سپس “ENTER” را فشار دهید. با انجام این کار، برخی کاربران ناشناس و دیتابیس آزمایشی حذف می‌شود و ورود به سیستم ریشه از راه دور غیر فعال می‌شود.

خب! در اینجا پیکربندی امنیتی اولیه MariaDB به پایان رسید. مرحله بعد، یک مرحله اختیاری است. اگر می‌خواهید با یک رمز عبور در سرور دیتابیس احراز هویت شوید، مرحله بعدی را انجام دهید.

مرحله 3 (اختیاری – ایجاد حساب کاربری اجرایی که از احراز هویت به وسیله رمز عبور استفاده می‌کند):

در سیستم‌های اوبونتو که MariaDB ورژن 10.3 را اجرا می‌کنند، کاربر ریشه به طور پیش‎فرض با استفاده از افزونه unix_socket احراز هویت می‌شود. با اینکه این افزونه قابلیت و موارد امنیتی زیادی دارد، اما در مواردی که نیاز به اجازه دادن به حقوق یک برنامه خارجی مدیریتی را دارید، شرایط کمی پیچیده می‌شود.

به خاطر اینکه سرور از حساب ریشه برای کارهایی مانند توقف سرور، راه‎اندازی و چرخش گزارش استفاده می‌کند، بهتر است جزئیات احراز هویت حساب ریشه را تغییر ندهید. شاید تغییر در فایل پیکربندی که در مسیر /etc/mysql/debian.cnf قرار دارد در ابتدا مفید به نظر برسد، اما با به‎روزرسانی پکیج، احتمال بازنویسی شدن تغییرات وجود دارد.

به جای این کار، توصیه می‌شود که از یک حساب اجرایی جداگانه‎ی مبتنی بر رمز عبور برای دسترسی به سرور استفاده کنید.

برای این کار، یک حساب کاربری جدید به نام admin با قابلیت‌های اکانت ریشه که برای احراز هویت با رمز عبور، پیکربندی شده است را ایجاد کنید. در ادامه، در ترمینال، درخواست MariaDB را اجرا کنید:

sudo mariadb

سپس، یک کاربر جدید در سطح ریشه و دسترسی مبتنی بر رمز عبور را ایجاد کنید. در زمان انجام این کار، باید نام کاربری و رمز عبور خود را تغییر دهید:

MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

برای اطمینان از ذخیره‌سازی و در دسترس بودن این تنظیمات در جلسه جاری، دستور زیر را اجرا کنید:

MariaDB [(none)]> FLUSH PRIVILEGES;

سپس، با دستور زیر از پوسته خارج شوید:

MariaDB [(none)]> exit

حال بیایید با یکدیگر نصب MariaDB را آزمایش کنیم…

مرحله 4 (آزمایش MariaDB):

زمانی که دیتابیس از مخازن پیش‌‎فرض نصب شود، به طور خودکار شروع به اجرا می‌کند. برای آزمایش این دیتابیس، باید وضعیت آن را با دستور زیر بررسی کنید.

sudo systemctl status mariadb

پس از اجرای دستور بالا، یک خروجی با متن زیر دریافت خواهید کرد:

Output

● mariadb.service - MariaDB 10.3.22 database server

 	Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)

 	Active: active (running) since Tue 2020-05-12 13: 38: 18 UTC; 3min 55s ago

   	Docs: man: mysqld(8)

         	https: //mariadb.com/kb/en/library/systemd/

   Main PID: 25914 (mysqld)

 	Status: "Taking your SQL requests now..."

  	Tasks: 31 (limit: 2345)

 	Memory: 65.6M

 	CGroup: /system.slice/mariadb.service

         	└─25914 /usr/sbin/mysqld

. . .

در صورتی که MariaDB در حال اجرا نیست، می‌توانید آن را با دستور زیر اجرا کنید:

sudo systemctl start mariadb

برای بررسی بیشتر، می‌توانید با ابزار mysqladmin (کلاینتی است که امکان اجرای دستورات مدیریتی را می‌دهد) به دیتابیس خود وصل شوید. به عنوان مثال، با اجرای این دستور، اعلانی ظاهر می‌شود و به شما می‌گوید که با استفاده از سوکت Unix به عنوان ریشه، به دیتابیس وصل شده‎‌اید و نسخه آن را نمایش می‎دهد:

Output

mysqladmin  Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

 

Server version    	10.3.22-MariaDB-1ubuntu1

Protocol version  	10

Connection        	Localhost via UNIX socket

UNIX socket       	/var/run/mysqld/mysqld.sock

Uptime:                   	4 min 49 sec

 

Threads: 7  Questions: 467  Slow queries: 0  Opens: 177  Flush tables: 1  Open tables: 31  Queries per second avg: 1.615

در صورتی که یک کاربر اجرایی جداگانه را با احراز هویت به روش رمز عبور پیکربندی کرده‌اید، می‌توانید با تایپ دستور زیر در ترمینال، عملیات مشابه را انجام دهید:

mysqladmin -u admin -p version

این به این معنی است که دیتابیس MariaDB راه‎اندازی شده و کاربر می‌تواند با موفقیت عملیات احراز هویت را انجام دهد.

ایجاد پایگاه داده در MariaDB

برای ایجاد پایگاه داده، مراحل زیر را دنبال کنید:

با استفاده از رابط خط فرمان، وارد سرور MariaDB شوید. همچنین می‌توانید این کار را با باز کردن ترمینال و تایپ دستور زیر انجام دهید. سپس، به جای username نام کاربری و به جای hostname نام میزبان  یا IP سرور خود را جایگزین کنید:

mysql -u username -h hostname -p

در مرحله بعد، از شما خواسته می‌شود که رمز عبورتان را وارد کنید.

پس از ورود موفقیت‎آمیز به سیستم، با تایپ دستور زیر در ترمینال، یک پایگاه داده جدید ایجاد خواهید کرد:

CREATE DATABASE database_name

در دستور بالا، به جای database_name، نام پایگاه داده مورد نظرتان را بنویسید.

پس از اجرای دستور بالا، با اجرای دستور زیر، بررسی کنید که آیا دیتابیس جدید ایجاد شده است یا خیر:

SHOW DATABASES

در اعلانی که ظاهر می‌شود، باید نام پایگاه داده جدید و پایگاه داده‌های قبلی که روی سرور ایجاد شده‌اند را مشاهده کنید.

پشتیبان‎گیری و بازگردانی اطلاعات

برای بازیابی و پشتیبان‎ گیری دیتابیس  می‌توانید از خط فرمان mysqldump استفاده کنید.

پشتیبان‎گیری

برای ایجاد یک نسخه پشتیبان از دیتابیس خود، دستور زیر را در خط فرمان تایپ کنید:

mysqldump -u [username] -p [database_name] > [backup_file_name].sql

به جای [username] نام کاربری پایگاه داده، به جای [database_name] نام پایگاه داده‌ای که می‌خواهید از آن نسخه پشتیبان تهیه کنید و به جای [backup_file_name] نام فایل پشتیبان (با پسوند .sql نوشته شود) را وارد کنید. پس از اجرای دستور بالا، از شما رمز عبور پایگاه داده خواسته می‌شود.

با این کار، شما یک نسخه پشتیبان از پایگاه داده موردنظرتان در اختیار خواهید داشت.

بازیابی

برای بازیابی دیتابیس از نسخه پشتیبان، می‌توانید از دستور زیر استفاده کنید:

mysql -u [username] -p [database_name] < [backup_file_name].sql

به جای [username] نام کاربری پایگاه داده، به جای [database_name] نام پایگاه داده‌ای که می‌خواهید بازیابی کنید و به جای [backup_file_name] نام فایل پشتیبان (با پسوند .sql نوشته شود) را وارد کنید. پس از اجرای دستور بالا، از شما خواسته می‌شود که رمز عبور دیتابیس را وارد کنید.

 

پس از وارد کردن رمز عبور، پایگاه داده‎ی مشخص‎شده از طریق فایل پشتیبان شما، بازیابی می‌شود.

4/5 - (1 امتیاز)
دیدن نظرات
small

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

چهار × سه =

عضویت در خبرنامه مبین هاست
مطالب کدام دسته‌بندی‌ها برای شما جذاب‌تر است؟

آنچه در مقاله می‌خوانید

مقالات مرتبط
فریمورک Django
آموزش برنامه نویسی

همه چیز درباره فریمورک Django و نحوه استفاده از آن

فریم ورک Django یک ابزار متن‌باز بر پایه زبان برنامه‌نویسی پایتون است که از آن برای ساخت انواع وب‌سایت‌ها و پلتفرم‌های پیچیده استفاده می‌شود. این

خدمات مبین هاست