آموزش نصب MariaDB در Ubuntu 20.04
MariaDB یک سیستم مدیریت پایگاه داده متن باز ، سریع ، ایمن و مقیاس پذیر است. MariaDB یک انشعاب از MySQL است و یکی از key components های LAMP یا LEMP است که امروزه وب سایت ها و برنامه های بی شماری از این دیتابیس به صورت آنلاین استفاده میکنند. MariaDB sever هم اکنون سرور پایگاه داده پیش فرض در اکثر پروژه های Open Source است ، MySQL پدر MariaDB است و هر دو یکی هستن و اسمهاشون تفاوت داره. برای اطلاعات بیشتر در مورد MariaDB ، لطفاً صفحه اصلی آن را بررسی کنید. برای نصب آخرین نسخه MariaDB در سیستم عامل ابونتو مراحل زیر را دنبال کنید:
بسته های MariaDB در مخازن (repositories) اوبونتو قرار دارند. بنابراین تمام کاری که باید انجام دهید این است که دستورات زیر را برای نصب سرور اجرا کنید.
sudo apt update sudo apt install mariadb-server
پس از نصب سرور ، از دستورات زیر می توان برای متوقف کردن ، شروع و راه اندازی مجدد سرویس های پایگاه داده استفاده کرد.
sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl restart mariadb.service
برای بررسی وضعیت سرور ، دستورات زیر را اجرا کنید:
sudo systemctl status mariadb.service
خروجی باید به شکل زیر باشه
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 با اسکریپتی همراه است که به شما امکان می دهد امنیت خود را با ایمن سازی کاربر 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 را دانلود کنین ، میتونین repository اون رو به ابونتو اضافه کنین. دستورات زیر را اجرا کنید تا کلید مخزن آن به Ubuntu اضافه شود
sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64] focal main'
اگر این مخزن رو در اوبونتو 18.04 میخواین نصب کنین ، در خط سوم کد بالا ، focal به bionic تغییر بدین. پس از افزودن کلید و فایل repository ، بروز رسانی رو انجام بدین
sudo apt update sudo apt upgrade