آموزش نصب MySQL در اوبونتو ۲۰.۰۴

آموزش نصب MySQL در اوبونتو 20.04
برنامه نویسی

آموزش نصب MySQL در اوبونتو ۲۰.۰۴

 

مقدمه

MySQL یک سیستم مدیریت پایگاه داده منبع باز است که معمولا به عنوان بخشی از LAMP (Linux, Apache, MySQL, PHP/Python/Perl) نصب میشود. این مدل رابطه‌ای را پیاده‌سازی می‌کند و از زبان پرس و جو ساختاریافته برای مدیریت داده‌های خود استفاده می‌کند.

در این آموزش نحوه نصب MySQL نسخه ۸.۰ بر روی سرور اوبونتو ۲۰.۰۴ توضیح داده خواهد شد. بعد از تکمیل این شما یک پایگاه داده رابطه ای فعال خواهید داشت که می توانید از آن برای ساخت وب سایت یا برنامه بعدی خود استفاده کنید.

 

پیش نیازها

در این آموزش، شما به این نیاز دارید:

  • یک سرور اوبونتو ۲۰.۰۴ با یک کاربر معمولی (یعنی بدون root) و یک فایروال پیکربندی شده با UFW برای تنظیم راه اندازی این سرور با ما همراه باشید.

 

مرحله ۱ – نصب MySQL

در اوبونتو ۲۰.۰۴، شما می توانید MySQL را با استفاده از مخزن پیکچ APT نصب کنید. در این مقاله، نسخه MySQL موجود در مخزن پیش‌فرض اوبونتو نسخه ۸.۰.۲۷ است.

 

برای نصب آن، پیکچ ها را در سرور خود آپدیت کنید:

sudo apt update

 

 

سپس پیکچ mysql-server را نصب کنید:

sudo apt install mysql-server

 

با استفاده از دستور systemctl start در سرور، اجرا میشود.

sudo systemctl start mysql.service

 

این دستورات نصب و MySql را راه اندازی می‌کند، اما از شما خواسته نمی‌شود که رمز عبور تعیین کنید یا تغییرات دیگری در پیکربندی انجام دهید و از آنجایی که نصب MySQL امنیت ندارد، در ادامه به این موضوع می پردازیم.

 

مرحله ۲ پیکربندی  MySQL

برای نصب جدید MySql، شما می خواهید دستورات اسکریپت امنیتی DBMS را فعال و اجرا کنید. این دستورات اسکریپت برخی از گزینه های پیش فرض امنیت کمتر را برای مواردی مانند ورود به سیستم با دسترسی root از راه دور و … تغییر می دهد.

هشدار: از جولای ۲۰۲۲، هنگام اجرای اسکریپت mysql_secure_installation بدون پیکربندی بیشتر، خطایی رخ میداد. دلیل آن این است که این دستورات اسکریپت سعی می کند یک رمز عبور MySQL را برای کاربر root نصب و تنظیم کند، اما به طور پیش فرض در نصب اوبونتو، این حساب کاربری برای اتصال با استفاده از رمز عبور پیکربندی نشده است.

دستورات اسکریپت امنیتی را با sudo اجرا کنید:

sudo mysql_secure_installation

 

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

اگر شما راه اندازی افزونه اعتبار سنجی رمز عبور را انتخاب کنید، هر کاربر MySQL که با یک رمز عبور احراز هویت می کند، باید رمز عبوری داشته باشد که با policy انتخابی شما مطابقت داشته باشد.

قویترین سطح policy ، که با وارد کردن شماره ۲ می توانید آن را انتخاب کنید که پسوردها باید حداقل هشت کاراکتر داشته باشند و ترکیبی از حروف بزرگ، کوچک، عددی و کاراکترهای خاص را شامل شود:

Output

Securing the MySQL server deployment.




Connecting to MySQL using a blank password.




VALIDATE PASSWORD COMPONENT can be used to test passwords

and improve security. It checks the strength of password

and allows the users to set only those passwords which are

secure enough. Would you like to setup VALIDATE PASSWORD component?




Press y|Y for Yes, any other key for No: Y




There are three levels of password validation policy:




LOW    Length >= 8

MEDIUM Length >= 8, numeric, mixed case, and special characters

STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file




Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

 

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

Output

Please set the password for root here.







New password:




Re-enter new password:

 

 

توجه داشته باشید که حتی اگر یک رمز عبور برای کاربر root  در MySQL تعیین کرده اید این کاربر در حال حاضر برای احراز هویت با رمز عبور هنگام اتصال به  MySQLپیکربندی نشده است.

 

مرحله ۳ – ایجاد یک کاربر اختصاصی MySQL

پس از نصب، MySQL یک حساب کاربری root ایجاد می کند که می توانید از آن برای مدیریت پایگاه داده خود استفاده کنید. این کاربر دارای امتیازات کامل بر سرور MySQL است، به این معنی که کنترل کاملی بر هر پایگاه داده، جدول، کاربر و غیره دارد. به همین دلیل، بهتر است از استفاده از این حساب خارج از عملکردهای اداری خودداری کنید. در این مرحله نحوه استفاده از کاربر root در MySQL برای ایجاد یک حساب کاربری جدید توضیح داده شده است. بنابراین باید mysql را با امتیازات sudo فراخوانی کنید تا به کاربر ریشه MySQL دسترسی پیدا کنید:

sudo mysql

 

 

پس از دسترسی سریع به  MySQL، می توانید یک کاربر جدید با عبارت CREATE USER ایجاد کنید. این دستورات از این نحو کلی دنبال می کنند:

mysql > CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';

 

username = نام کاربری mysql

Host = میتوانید در سرور اوبونتو localhost مشخص کنید.

authentication_plugin = میتوانید کاملا کنار بگذارید تا کاربر با افزونه پیشفرض caching_sha2_password احراز هویت کند.

به عنوان مثال: مطمئن شوید که sammy را به نام کاربری و رمز عبور دلخواه خود به یک رمز عبور قوی انتخاب کنید:

mysql > CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';

 

 

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

mysql > GRANT PRIVILEGE ON database.table TO 'username'@'host';

 

 

مقدار PRIVILEGE در این نحو مثال، مشخص می کند که کاربر مجاز است چه اقداماتی را در پایگاه داده و جدول مشخص شده انجام دهد. شما می‌توانید با جدا کردن هر کدام با کاما، چندین امتیاز را در یک دستور به یک کاربر اختصاص دهید. همچنین می توانید با وارد کردن ستاره (*) به جای پایگاه داده و نام جدول، امتیازات کلی را به کاربر ثبت کنید.

به عنوان مثال:

mysql > GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

 

 

پس از این، اجرای دستور FLUSH PRIVILEGES تمرین خوبی است. این کار هر حافظه ای را که سرور در نتیجه دستورات قبلی CREATE USER و GRANT کش کرده است را آزاد می کند:

mysql > FLUSH PRIVILEGES;

 

سپس میتوانید از mysql خارج شوید:

mysql > exit

 

در آینده، برای ورود به عنوان کاربر جدید MySQL ، از دستوری مانند زیر استفاده خواهید کرد:

mysql -u sammy -p

 

-p = این دستور باعث می‌شود که کلاینت MySQL از شما رمز عبور کاربر MySQL را برای احراز هویت درخواست کند.

 

مرحله ۴ تست یا آزمایش  MySQL

MySQL باید به طور خودکار شروع به اجرا می کرد. برای تست این، وضعیت آن را بررسی کنید.

systemctl status mysql.service

 

خروجی مشابه زیر را خواهید دید:

Output

mysql.service - MySQL Community Server

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

     Active: active (running) since Tue 2020-04-21 12:56:48 UTC; 6min ago

   Main PID: 10382 (mysqld)

     Status: "Server is operational"

      Tasks: 39 (limit: 1137)

     Memory: 370.0M

     CGroup: /system.slice/mysql.service

             └─۱۰۳۸۲ /usr/sbin/mysqld

 

 

اگر mysql اجرا نشد، شما میتوانید از دستور زیر استفاده کنید:

sudo systemctl start mysql

 

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

به عنوان مثال:

sudo mysqladmin -p -u sammy version

 

شما باید خروجی مشابه این را ببینید:

Output

mysqladmin  Ver 8.0.19-0ubuntu5 for Linux on x86_64 ((Ubuntu))

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.




Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.




Server version        ۸.۰.۱۹-0ubuntu5

Protocol version    ۱۰

Connection        Localhost via UNIX socket

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

Uptime:            ۱۰ min 44 sec




Threads: 2  Questions: 25  Slow queries: 0  Opens: 149  Flush tables: 3  Open tables: 69  Queries per second avg: 0.038

 

 

بدون دیدگاه

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

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

starlink
مقالات آموزشی
Starlink چیست و چگونه کار میکند؟

Starlink چیست و چگونه کار میکند؟ استارلینک روی یک فناوری خدمات اینترنت کار میکند.یک سیستم ماهواره ای میباشد که به جای استفاده از فناوری کابل ، مثل فیبر نوری ،برای انتقال داده های اینترنتی از سیگنال های رادیویی از طریق خلاء فضا استفاده میکند. ایستگاه‌های زمینی سیگنال‌هایی را به ماهواره‌ها …

نحوه نصب Node.js در اوبونتو 20.04
برنامه نویسی
نحوه نصب Node.js در اوبونتو ۲۰.۰۴

ما گیو سرور، در این مطلب نحوه نصب Node.js در اوبونتو ۲۰.۰۴ مرحله به مرحله و به ۳ بخش آموزش میدهیم. مقدمه Node.js یک زبان جاوا اسکریپت برای اجرای زمان در برنامه نویسی سمت سرور است. این به توسعه دهندگان این امکان را می دهد تا با استفاده از جاوا …

ui ux
تجربه کاربری
UI UX چیست؟

UI  و UX  چیست ؟   UI  مخفف عبارت User Interface و به معنی رابط کاربری و UX مخفف عبارت User Experience و به معنی تجربه کاربری هست. این دو مفهوم در روند طراحی اصولی یک محصول کارامد مورد استفاده قرار میگیرند و با هم تعامل زیادی دارند اما در …