آموزش نصب MariaDB در Ubuntu و Centos



آموزش نصب MariaDB

MariaDB یک سیستم مدیریت پایگاه داده متن باز، سریع، ایمن و مقیاس پذیر است. MariaDB یک انشعاب از MySQL است و یکی از key components های LAMP یا LEMP است که امروزه وب سایت ها و برنامه های بی شماری از این دیتابیس به صورت آنلاین استفاده میکنند. MariaDB sever هم اکنون سرور پایگاه داده پیش فرض در اکثر پروژه های Open Source است، MySQL پدر MariaDB است و هر دو یکی هستن و اسمهاشون تفاوت داره. برای اطلاعات بیشتر در مورد MariaDB، لطفا صفحه اصلی آن را بررسی کنید.

در این مقاله آموزش نصب دیتابیس ماریا دی بی، در 2 سیستم عامل Ubuntu و Centos بررسی میشود.

MariaDB یک منبع باز یکی از محبوب ترین سیستم های مدیریت پایگاه داده رابطه ای (RDBMS) است که یک جایگزین بسیار سازگار برای MySQL است. MariaDB به عنوان یک فورک نرم افزار MySQL در سال 2009 در پاسخ به خرید MySQL توسط Oracle توسعه یافت. MariaDB قصد دارد نرم افزار رایگان و منبع باز تحت مجوز عمومی عمومی گنو باقی بماند. در این راهنما نحوه نصب و پیکربندی MariaDB با خرید vps بلوسرور در اوبونتو 22.04 و Centos 7 را یاد خواهیم گرفت.

 

نصب MariaDB در Ubuntu 22

 

بسته های MariaDB در مخازن (repositories) اوبونتو قرار دارند. بنابراین تمام کاری که باید انجام دهید این است که دستورات زیر را برای نصب سرور اجرا کنید.

sudo apt update
sudo apt upgrade -y
sudo apt install -y mariadb-server

 

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

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl restart mariadb.service

 

برای بررسی وضعیت سرور ، دستورات زیر را اجرا کنید:

sudo systemctl status mariadb

 

خروجی باید به شکل زیر باشه

mariadb.service - MariaDB 10.3.22 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-05-03 12:35:42 CDT; 6s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 4813 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld >
    Process: 4831 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION>
    Process: 4833 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VA>
    Process: 4913 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITIO>
    Process: 4915 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 4882 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 4657)
     Memory: 63.2M
     CGroup: /system.slice/mariadb.service
             └─4882 /usr/sbin/mysqld

May 03 12:35:41 ubuntu2004 systemd[1]: Stopped MariaDB 10.3.22 database server.
May 03 12:35:41 ubuntu2004 systemd[1]: Starting MariaDB 10.3.22 database server..

 

پیکربندی MariaDB

سرور MariaDB با اسکریپتی همراه است که به شما امکان می دهد امنیت خود را با ایمن سازی کاربر root با رمز عبور ، از بین بردن سایر تنظیمات ناامن ، تقویت کنید. دستورات زیر را برای فراخوانی اسکریپت اجرا کنید:

sudo mysql_secure_installation

 

بعد از اجرا از شما سوال هایی پرسیده میشه که طبق آموزش زیر میتونین پاسخ بدین

 

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): 
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] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

 

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

sudo mysql

به طور خودکار به شما دسترسی ورود داده می شود.

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 44
Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04

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

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

افزونه auth_socket کاربرانی را که به localhost از طریق فایل socket متصل می شوند، بدون هشدار یا رمز عبور ، تأیید می کند. این می تواند باعث بروز مشکل برای برخی از برنامه هایی شود که باید از طریق root به بانک اطلاعاتی متصل شوند. برای رفع این مشکل ، باید مکانیزم پیش فرض تایید اعتبار را از auth_socket به mysql_native_password تغییر دهید.

دوباره وارد کنسول MariaDB شوید.

sudo mysql

سپس دستورات زیر را اجرا کنید تا ماژول mysql_native_password را غیرفعال کنید.

USE mysql;
UPDATE user SET plugin='' WHERE user ='root';

تنظیمات بالارو ذخیره کنین و خارج بشین

FLUSH PRIVILEGES;
EXIT;

 

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

sudo mysql -u root -p

از آنجا که نمی خواهید از کاربر root دیتابیس MariaDB برای اتصال به برنامه های خارجی استفاده کنید ، باید یک حساب admin جدا از کاربر root ایجاد کنید.

GRANT ALL PRIVILEGES ON *.* TO 'superadmin'@'localhost' IDENTIFIED BY 'very_strong_password';

 

تست MariaDB

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

mysql -h 127.0.0.1 -u root -p

 

خروجی:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 54
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

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

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

 

برای بررسی نسخه نصب شده mariadb از دستور زیر میتونین استفاده کنین

sudo mysqladmin version

خروجی :

Output
mysqladmin Ver 9.1 Distrib 10.6.7-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version 10.6.7-MariaDB-2ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /run/mysqld/mysqld.sock
Uptime: 2 min 47 sec

Threads: 1 Questions: 74 Slow queries: 0 Opens: 33 Open tables: 26 Queries per second avg: 0.443

این آموزش نصب Mariadb در سیستم عامل های اوبونتو 18 – 20 – 22 قابل استفاده است.

 

 

نصب MariaDB در Centos

برای نصب ابتیدا سیستم عامل را آپدیت میکنیم، سپس mariadb-server را نصب میکنیم

yum update
yum install mariadb-server

مراحل نصب دیتابیس MariaDB در CentOS 7

در هنگام نصب سوالی برای تایید نصب پرسیده میشود که با y باید پاسخ بدین. برای مدیریت MariaDB  در CentOS 7 از دستورات زیر میتونین استفاده که دستور اول دیتابیس رو فعال، دستور دوم فعالیت دیتابیس رو متوقف و دستور سوم دیتابیس رو ریستارت میکنه، همچنین دستور چهارم وضعیت فعالیت دیتابیس رو نشون میده.

systemctl start mariadb
systemctl stop mariadb
systemctl restart mariadb
systemctl status mariadb

 

برای فعال سازی و غیرفعالسازی در هنگام Boot سیستم عامل نیز از دستورات زیر استفاده میکنیم.

systemctl enable mariadb
systemctl disable mariadb

 

برای بهبود امنیت دیتابیس نیز از طریق کد زیر اسکریپتی برای افزایش امنیت این دیتابیس استفاده میشه (کافینگ های نصب mariadb را میتونین از بخش ubuntu همین مقاله انجام بدین.)

mysql_secure_installation

 

بهینه سازی دیتابیس MariaDB

آموزش نصب Nginx در Ubuntu 20.04

آموزش نصب PHP در Ubuntu 20.04