شما برای مطالعه این مقاله فقط 7 دقیقه وقت نیاز دارید

install-MySQL-on-ubuntu

نصب MySQL در اوبونتو: راهنمای کامل و گام به گام

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

برای نصب MySQL در اوبونتو کافیست پکیج mysql-server را در سیستم خود نصب کنید و سپس سرویس مربوط به آن را اجرا کنید. در ادامه، باید با اجرای دستور mysql_secure_installation چند اقدام امنیتی مثل تنظیم پسورد کاربر روت، غیرفعال سازی ورود روت به صورت ریموت و … را انجام دهید.

پیش نیازهای نصب MySQL در اوبونتو

  • سیستم یا سرور لینوکس اوبونتو ( نسخه ۱۰.۴ به بعد)
  • دسترسی به ترمینال
  • کاربر غیر روت با امتیازات sudo
  • اتصال اینترنتی پایدار

* در صورت نیاز به یک سرور حرفه ای با سیستم عامل اوبونتو آماده، می توانید به صفحه خرید سرور مجازی لینوکس سر بزنید و پلن ایده آل برای خود را سفارش دهید.

مراحل نصب MySQL در اوبونتو

  • نصب بسته MySQL 
  • پیکربندی و ایمن سازی MySQL
  • راه اندازی و مدیریت کاربران MySQL
  • تست سرویس MySQL 

مرحله ۱. بسته MySQL را نصب کنید.

ریپازیتوری پیش فرض سیستم حاوی پکیج MySQL است که می توانید با مدیر بسته apt آن را نصب کنید.

  • ابتدا برای دسترسی به آخرین نسخه پکیج MySQL، ریپازیتوری سیستم را آپدیت و آپگرید کنید:
sudo apt update

sudo apt upgrade
  • پکیج mysql-server را نصب کنید:
sudo apt install mysql-server
  • سرویس مربوط به mysql را اجرا کنید:
sudo systemctl start mysql.service

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

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

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

برای برآورده سازی استانداردهای امنیتی MySQL می توانید از اسکریپت mysql_secure_installation کمک بگیرید. کافیست طبق مراحل زیر جلو بروید تا اقدامات لازم برای ایمن سازی نصب MySQL را انجام دهید.

  • برای اجرای این اسکریپت، دستور زیر را اجرا کنید:
sudo mysql_secure_installation
  • درخواست مربوط به اجرای Validate PASSWORD را با وارد کردن n رد کنید.رد کردن اجرای validate password
  •  رمز عبور موردنظر (ترجیحاً قوی و طولانی) برای کاربر روت را وارد کنید.

احتمالا با خطای set password مواجه خواهید شد که برای حل کردن این مشکل، کافیست ترمینال را ببندید و دوباره باز کنید.عدم اعمال رمز وارد شده برای روت

  • دستور زیر را اجرا کنید:
sudo mysql
  • سپس رمز کاربری که با آن وارد سیستم اوبونتو شده اید را وارد کنید.
  • کونسول mysql که باز شد، دستور زیر را اجرا کنید:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

* رمز موردنظر برای کاربر روت را جایگزین password کنید.

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

  • بعد از این کار، با اجرای دستور زیر می توانید از کونسول mysql خارج شوید.
exit
  • مجدداً اسکریپت ایمن سازی mysql را اجرا کنید:
sudo mysql_secure_installation

حالا به جای تنظیم رمز روت، از شما می خواهد که رمزی که قبلاً برای کاربر روت تعیین کرده اید را وارد کنید.

  • رمز را وارد کرده و اینتر را بزنید.
  • مجدداً n را وارد کنید تا درخواست اجرای VALIDATE PASSWORD رد شود.
  • اگر مشکلی با پسورد فعلی کاربر روت ندارید، درخواست change the password for root را هم با وارد کردن n رد کنید.وارد کردن no برای تغییر پسورد موقع نصب mysql در اوبونتو

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

حذف کاربران ناشناس

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

پس به درخواست بعدی که Remove anonymous uers است، با y جواب دهید.تایید حذف کاربران ناشناس

مسدود سازی دسترسی روت به MySQL به صورت ریموت

با توجه به اینکه کاربر روت دارای تمام مجوزهای لازم برای دستکاری و مدیریت پایگاه داده MySQL است، اگر به خاطر دلایل امنیتی قصد دارید که دسترسی ریموت به حساب روت MySQL را مسدود کنید تا جلوی خطراتی مثل brute-force را بگیرید، کافیست درخواست Disallow Root Login Remotely را با y جواب بدهید.مسدود سازی دسترسی ریموت به روت

حذف پایگاه داده آزمایشی

وجود یک پایگاه داده آزمایشی که در دسترس همه قرار دارد، می تواند از لحاظ امنیتی خطرساز باشد که مطمئن ترین راه برای مقابله با چنین خطراتی این است درخواست Remove Test Database را با y جواب دهید.حذف پایگاه داده آزمایشی

بارگذاری مجدد جداول امتیازات

جدول های امتیازات MySQL، حاوی اطلاعات مربوط به امتیازات و مجوزهای دسترسی است که بارگذاری مجدد این جداول برای اعمال تغییرات ایجاد شده در طول اجرای mysql_secure_installation ضروری است.

پس درخواست Reload privilege tables now را هم با تایپ y تایید کنید.ریلورد جدول امتیازات mysql

Reload جداول امتیازات، آخرین مرحله ایمن سازی MySQL است.

مرحله ۳. وضعیت سرویس MySQL را بررسی کنید.

بعد از طی مراحل نصب و پیکربندی MySQL، سرویس مربوط به آن به طور خودکار شروع می شود که برای اطمینان از این موضوع، می توانید وضعیت MySQL را با استفاده از دستور زیر بررسی کنید:

sudo systemctl status mysql

بررسی وضعیت mysql بعد از نصب آن در اوبونتوپیام سبز رنگ Active نشانه این است که همه چیز خوب پیش رفته است و سرویس MySQL هم در حالت فعال قرار دارد.

مرحله ۴. وارد سرور MySQL شوید.

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

کلیک کنید  آموزش ایمن کردن Nginx با استفاده از SSL در CentOS

برای ورود به این حساب، دستور زیر را اجرا کنید:

mysql -u root -p

رمز کاربر روت را وارد کنید تا کونسول mysql برایتان باز شود.

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

بهترین ایده برای ارتقا امنیت سرور mysql این است که یک کاربر عادی جدید ایجاد کنید و کارهای عادی مثل ایجاد پایگاه داده یا جدول جدید یا انتخاب سطر و ستون موردنظر از جدول را با استفاده از آن انجام دهید. 

برای ایجاد یک کاربر عادی کافیست با دستور بالا به عنوان کاربر روت وارد کونسول MySQL شوید.

  • دستور ایجاد کاربر را اجرا کنید:
CREATE USER 'username'@localhost IDENTIFIED BY 'password';

* username و password را با نام کاربری و رمز موردنظر برای کاربر جدید جایگزین کنید.

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

به عنوان مثال اگر می خواهید امتیازات ایجاد، تغییر، حذف، آپدیت و حذف پایگاه داده ها/جداول و درج و انتخاب ستون و سطرهای جدول ها را به کاربر بدهید، باید دستور زیر را اجرا کنید:

GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'username'@'localhost' WITH GRANT OPTION;

برای اعطای تمام امتیازات به کاربر موردنظر هم می توانید از ALL PRIVILEGES استفاده کنید:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

در ارائه چنین مجوز کامل و گسترده به کاربران احتیاط کنید و آن را به سادگی به هر کاربری که از راه می رسد، اعطا نکنید چون یک کاربر با تمام امتیازات، کنترل کاملی بر روی هر پایگاه داده دارد و اجرای عملیات اشتباه و مخرب توسط آن می تواند وضعیت بخش بک اند اپلیکیشن یا وبسایت شما را به خطر بیاندازد.

حالا که کاربر جدید را ایجاد کردید و امتیاز آن را هم اعمال کردید، برای ورود به سرور mysql از طریق این کاربر کافیست ابتدا از کونسول mysql خارج شوید:

exit

سپس، دستور mysql زیر را اجرا کنید:

mysql -u username -p

پسورد مربوط به این کاربر را وارد کنید تا اتصال به سرور mysql با موفقیت انجام شود.

مرحله ۴. سرور MySQL را تست کنید.

برای تست عملکرد MySQL می توانید کونسول mysql را با کاربر دلخواه خود باز کنید و دستورات SQL پایه زیر را امتحان کنید:

ایجاد پایگاه داده جدید

CREATE DATABASE mydatabase;

نمایش پایگاه داده ها

SHOW DATABASES;

انتخاب پایگاه داده موردنظر

USE mydatabase;

ایجاد جدول جدید در پایگاه داده انتخاب شده

CREATE TABLE mytable (

    id INT AUTO_INCREMENT PRIMARY KEY,

    name VARCHAR(100),

    age INT

);

نمایش جداول موجود در پایگاه داده موردنظر

SHOW TABLES;

درج داده ها در یک جدول

INSERT INTO mytable (name, age) VALUES ('zahra', 26);

آپدیت داده یک جدول

UPDATE mytable SET age = 27 WHERE name = 'zahra';

حذف داده ها از یک جدول

DELETE FROM mytable WHERE name = 'zahra';

در انتهای کار، برای خروج از کونسول mysql و برگشتن خط فرمان به حالت عادی، کافیست دستور exit را اجرا کنید یا اینکه کلید ترکیبی Ctrl + D را فشار دهید.

این ها چند مثال ابتدایی جهت آشنایی با نحوه اجرای دستورات sql هستند که اگر می خواهید دانش خود را در این زمینه ارتقا دهید، می توانید از سایت های آموزشی مثل w3schools استفاده کنید.

نحوه نصب MySQL Workbench در اوبونتو

اگر کار کردن با رابط خط فرمان MySQL برایتان سخت است می توانید از MySQL Workbench که رابط گرافیکی رسمی MySQL است، استفاده کنید. 

Workbench این امکان را به شما می دهد که مدل های پایگاه داده خود را به صورت گرافیکی طراحی کنید و آن را ایجاد و مدیریت کنید. بدون اینکه نیازی به اجرای دستورات خط فرمان (CLI) باشد.

برای شروع استفاده از ابزار Workbench، ابتدا باید آن را نصب کنید که برای این کار می توانید از snap استفاده کنید.

  • پس دستور snap زیر را اجرا کنید:
sudo snap install mysql-workbench-community
  • بعد از نصب موفقیت آمیز Workbench، روی Activities کلیک کنید و در کادر جستجو، mysql workbench را تایپ کنید.
  • برنامه مربوط به آن را باز کنید.باز کردن برنامه workbench
  • از قسمت MySQL Connections روی کاربر موردنظر مثلاً root کلیک کنید.کلیک روی کاربر روت برای اتصال به mysql
  • پسورد کاربر روت را وارد کنید تا وارد فضای Workbench شوید.وارد کردن پسورد کاربر روت

با بررسی تک تک قسمت های این ابزار متوجه خواهید شد که کار کردن با MySQL چقدر راحت تر و قابل لمس تر است.فضای برنامه mysql workbench

البته بهتر است به این نکته هم اشاره کنیم که Workbench برای مدیریت پایگاه داده به صورت محلی و روی همان سیستم اوبونتو قابل استفاده است.

اگر می خواهید مدیریت پایگاه داده ها را به صورت ریموت و از طریق یک رابط مبتنی بر وب جلو ببرید، می توانید از phpmyadmin کمک بگیرید.

سخن آخر

نصب MySQL در اوبونتو با استفاده از مدیربسته apt قابل انجام است ولی حتماً باید مراحل پیکربندی و ایمن سازی آن را هم به طور کامل طی کنید تا MySQL کاملاً برای مدیریت پایگاه داده مربوط به اپلیکیشن یا وبسایت موردنظر شما آماده باشد. برای آشنایی با نحوه راه اندازی mysql در ویندوز هم می توانید از آموزش نصب mysql در ویندوز سرور کمک بگیرید.

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید