---
title: نصب MySQL در اوبونتو
description: MySQL محبوب‌ ترین سیستم مدیریت پایگاه داده از راه دور (RMDBS) متن‌باز است. این سیستم قابل اعتماد، کارآمد، بالغ و دارای پشتیبانی و پذیرش گسترده است
url: "https://www.novinhost.org/docs/how-to-install-and-configure-mysql-on-ubuntu/"
updated: "2025-10-11"
category: راهنمای لینوکس / اوبونتو
---

# نصب MySQL در اوبونتو

MySQL محبوب‌ ترین سیستم مدیریت پایگاه داده از راه دور (RMDBS) متن‌باز است. این سیستم قابل اعتماد، کارآمد، بالغ و دارای پشتیبانی و پذیرش گسترده است. از LAMP گرفته تا پایگاه‌های داده پردازش تراکنش آنلاین (OLTP)، طیف وسیعی از برنامه‌های حیاتی به MySQL وابسته هستند.

در اینجا، برای کمک به شما در شروع کار با این RMDBS محبوب، شما را در یک آموزش گام به گام در مورد نحوه نصب و پیکربندی MySQL در اوبونتو 20.04 همراهی خواهیم کرد. در پایان آموزش، سرور MySQL شما در اوبونتو 20.04 با پیکربندی‌های زیر اجرا خواهد شد:

- `STRONG`سیاست اعتبارسنجی رمز عبور
- ورود به سیستم از راه دور با کاربر root مجاز نیست
- ورود ناشناس و غیرفعال بودن پایگاه داده آزمایشی
- یک کاربر اختصاصی MySQL که از `caching_sha2_password`مکانیزم احراز هویت استفاده می‌کند و دارای دسترسی‌های `ALTER, CREATE, DELETE, DROP, INSERT, REFERENCES, RELOAD, SELECT`و `UPDATE`روی همه جداول و پایگاه‌های داده است.

سپس، مجموعه‌ای از نکات را برای کمک به شما در کار با MySQL در اوبونتو 20.04 ارائه خواهیم داد.

اگر فقط می‌خواهید MySQL را راه‌اندازی کنید و شروع کنید، نسخه Tl;dr را بررسی کنید. اگر می‌خواهید تمام جزئیات را بدانید، به آموزش نصب MySQL در اوبونتو 20.04 مراجعه کنید.

## [#](#a-fast-way-to-install-mysql-server-on-ubuntu-2004) یک راه سریع برای نصب سرور MySQL در اوبونتو 20.04

ما دوست نداریم آموزش‌ها بیش از حد لازم کش پیدا کنند. بنابراین، اگرچه توصیه می‌کنیم آموزش کامل و نکات زیر را بخوانید، نسخه Tl;dr را نیز در اختیار شما قرار می‌دهیم.

اگر فقط می‌خواهید MySQL را به سرعت در اوبونتو 20.04 برای آزمایش یا محیط‌های غیرتولیدی نصب کنید، مراحل زیر را دنبال کنید ( `yourmysqluser`نام کاربری و `password`رمز عبور خود را جایگزین کنید):

1. با کاربری که دارای امتیازات sudo است به دستگاه اوبونتو ۲۰.۰۴ خود وارد شوید و این دستور را برای به‌روزرسانی مخازن خود اجرا کنید:`sudo apt-get update -y`
2. MySQL را با این دستور نصب کنید:`sudo apt install mysql-server -y`
3. اسکریپت را برای ایمن‌سازی نصب MySQL با این دستور اجرا کنید:`sudo mysql_secure_installation`
4. به درخواست‌ها پاسخ دهید تا نصب خود را مطابق میل خود سخت کنید.
5. MySQL را اجرا کنید و سپس با استفاده از این دستورات، یک کاربر غیر ریشه با مجموعه [امتیازات MySQL](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html) مورد نظر خود ایجاد کنید (مجموعه امتیازات مثال ما در دستور c استفاده شده است):
   1. `sudo mysql`
   2. `CREATE USER 'yourmysqluser'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';`
   3. `GRANT ALTER, CREATE, DELETE, DROP, INSERT, REFERENCES, RELOAD, SELECT, UPDATE ON *.* TO 'yourmysqluser'@'localhost' WITH GRANT OPTION;`
   4. `exit`
6. مطمئن شوید که می‌توانید با استفاده از این دستور با کاربر تازه ایجاد شده خود به MySQL وارد شوید:`mysql -u yourmysqluser -p`

![نصب MySQL در اوبونتو](https://www.novinhost.org/wp-content/uploads/2025/10/01-2.png)
نصب MySQL در اوبونتو

 

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

## [#](#install-and-configure-mysql-on-ubuntu-2004)نصب و پیکربندی MySQL در اوبونتو 20.04

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

## [#](#prerequisites)پیش‌نیازها

قبل از شروع، به موارد زیر نیاز دارید:

- دستگاه اوبونتو ۲۰.۰۴ با دسترسی به اینترنت (برای دسترسی به مخازن اوبونتو)
- کاربر با امتیازات sudo

## [#](#step-1-upgrade-your-ubuntu-repositories)مرحله 1: مخازن اوبونتو خود را ارتقا دهید

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

```bash
sudo apt install mysql-server -y
```

متوجه خواهید شد که ما `-y`به انتهای دستور اضافه کردیم. این به سادگی باعث می‌شود `apt`- مدیر بسته اوبونتو - درخواست‌ها را بپذیرد و به صورت غیر تعاملی اجرا شود. اگر ترجیح می‌دهید دستور را به صورت تعاملی اجرا کنید و به درخواست‌ها پاسخ دهید، را حذف کنید `-y`.

## [#](#step-2-install-mysql)مرحله ۲: نصب MySQL

سپس، با استفاده از دستور زیر، آخرین نسخه سرور MySQL را با استفاده از apt نصب کنید:

```bash
sudo apt install mysql-server -y
```

تبریک! پس از اتمام این دستور، MySQL روی اوبونتو 20.04 نصب خواهد شد. می‌توانید با استفاده از این دستور، نصب MySQL را تأیید کنید `mysqld --version`. در اینجا مثالی از خروجی مورد انتظار آورده شده است:

```bash
pepperandegg@humorous-wombat:~$ mysqld --version
/usr/sbin/mysqld  Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
```

## [#](#step-3-harden-your-mysql-install-with-mysqlsecureinstallation)مرحله ۳: نصب MySQL خود را با mysql_secure_installation ایمن کنید

اکنون زمان پیکربندی نصب MySQL شما فرا رسیده است. ما با مقاوم‌سازی نصب شروع خواهیم کرد. خوشبختانه، MySQL با یک [اسکریپت تعاملی mysql_secure_installation](https://dev.mysql.com/doc/refman/5.7/en/mysql-secure-installation.html) ، مقاوم‌سازی اولیه را ساده می‌کند .

1. برای شروع، دستور زیر را اجرا کنید:

```bash
sudo mysql_secure_installation
```

1. این یک اعلان تعاملی را اجرا می‌کند. اولین سوال این است که به عنوان پاسخ خود `Would you like to setup VALIDATE PASSWORD component?`وارد شوید .`y`

```bash
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
```

1. در مرحله بعد، از شما خواسته می‌شود سطح سیاست اعتبارسنجی رمز عبور را انتخاب کنید. پاسخ‌های احتمالی عبارتند از:
   - رمزهای عبور پایین (0) باید حداقل 8 کاراکتر داشته باشند
   - متوسط ​​(1) رمزهای عبور باید حداقل 8 کاراکتر داشته باشند و شامل حداقل 1 کاراکتر کوچک، 1 کاراکتر بزرگ و 1 کاراکتر ویژه باشند.
   - قوی (2) تمام الزامات MEDIUM به علاوه رمزهای عبور نباید با کلمات موجود در فایل [validate_password_dictionary_file مطابقت داشته باشند](https://dev.mysql.com/doc/refman/5.6/en/validate-password-options-variables.html#sysvar_validate_password_dictionary_file)

`2`برای انتخاب سیاست اعتبارسنجی رمز عبور، Enter را بزنید `STRONG`.

```bash
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: 2
```

1. در مرحله بعد، از شما خواسته می‌شود که یک رمز عبور وارد کنید `New password`. این رمز عبور برای کاربر ریشه MySQL است. یک رمز عبور قوی اینجا وارد کنید و در قسمت تأیید کنید `Re-enter new password`. اگر رمز عبور الزامات سیاست رمز عبور را برآورده کند ، قدرت تخمینی مانند مثال زیر را `STRONG`مشاهده خواهید کرد .`100`

```bash
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
```

1. اکنون از شما خواسته می‌شود: برای ادامه، `Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No)`Enter را بزنید `y`و از رمز عبوری که به عنوان رمز عبور root پیکربندی کرده‌اید استفاده کنید.

```bash
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
```

1. به طور پیش‌فرض، MySQL یک کاربر ناشناس دارد که در ادامه `Remove anonymous users? (Press y|Y for Yes, any other key for No)`با a `y`آن را حذف می‌کنیم.

```bash
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : y
```

1. `y`در مرحله بعد، با وارد کردن دستور زیر ، ورود کاربر root از راه دور را غیرفعال کنید `Disallow root login remotely? (Press y|Y for Yes, any other key for No)`:

```bash
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? (Press y|Y for Yes, any other key for No) : y
```

1. `y`با وارد کردن دستور زیر در خط فرمان ، پایگاه داده آزمایشی پیش‌فرض را حذف کنید `Remove test database and access to it? (Press y|Y for Yes, any other key for No)`:

```bash
By default, MySQL 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? (Press y|Y for Yes, any other key for No) : y
```

1. در نهایت، برای اطمینان از اعمال تغییرات بلافاصله، `y`در `Reload privilege tables now? (Press y|Y for Yes, any other key for No)`خط فرمان enter بزنید. پس از آن، به خط فرمان استاندارد اوبونتو برای کاربر خود باز خواهید گشت.

```bash
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!
pepperandegg@humorous-wombat:~$
```

## [#](#step-4-create-a-dedicated-mysql-user)مرحله ۴: ایجاد یک کاربر اختصاصی MySQL

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

1. MySQL را با دستور زیر اجرا کنید

```bash
sudo mysql
```

💡 **نکته حرفه‌ای** : اگر نصب MySQL خود را طوری تغییر داده‌اید که *[از افزونه auth_socket](https://dev.mysql.com/doc/refman/5.7/en/socket-pluggable-authentication.html)** استفاده نکند یا دسترسی sudo ندارید، می‌توانید با استفاده از رمز عبور مرحله ۳ با دستور زیر به عنوان root احراز هویت کنید:`mysql -u root -p`*

1. با این دستور یک کاربر MySQL ایجاد کنید ( `pepperandegg`نام کاربری و `password`رمز عبور خود را جایگزین کنید):

```mysql
CREATE USER 'pepperandegg'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
```

📝 **نکات مهم در مورد مکانیسم‌های احراز هویت: ***در مثال ما، از مکانیسم احراز هویت پیشنهادی MySQL استفاده کردیم `caching_sha2_password`. با این حال، مواردی وجود دارد که ممکن است بخواهید از مکانیسم احراز هویت متفاوتی استفاده کنید.*

برای مثال، بسیاری از نسخه‌های PHP با سازگار نیستند `caching_sha2_password`. در این موارد، همانطور که در [این پاسخ StackOverflow](https://stackoverflow.com/questions/49083573/php-7-2-2-mysql-8-0-pdo-gives-authentication-method-unknown-to-the-client-ca/53720922#53720922) و این [مشکل Laradock GitHub](https://github.com/laradock/laradock/issues/1390#issuecomment-419562297) نشان داده شده است ، راه حل استفاده از است `mysql_native_password`. برای ایجاد کاربری که از mysql_native_password استفاده می‌کند و مجوزهای مشابه کاربر نمونه ما در اینجا را دارد، از این دستور استفاده کنید ( `php_pepperandegg`نام کاربری و `password`رمز عبور خود را جایگزین کنید):

```mysql
CREATE USER 'php_pepperandegg'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```

از طرف دیگر، اگر از تکثیر داده‌های MySQL source-replica استفاده می‌کنید، ممکن است لازم باشد از مکانیزم احراز هویت استفاده کنید `sha256_password`. برای ایجاد یک کاربر با استفاده از مکانیزم احراز هویت، این دستور را اجرا کنید ( نام کاربری و رمز عبور خود `sha256_password`را جایگزین کنید ):`sha256nocache_pepperandegg``password`

```mysql
CREATE USER 'sha256nocache_pepperandegg'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```

1. به کاربر MySQL خود امتیازات لازم را اعطا کنید. می‌توانید لیست کاملی از امتیازات را در مستندات MySQL مشاهده کنید. برای مثال، ما با استفاده از این دستور (به جای pepperandegg نام کاربری خود را جایگزین کنید) امتیازات ALTER، CREATE، DELETE، DROP، INSERT، REFERENCES، RELOAD، SELECT و UPDATE را در تمام جداول و پایگاه‌های داده ( *.* ) اعطا می‌کنیم:

```mysql
GRANT  ALTER, CREATE, DELETE, DROP, INSERT, REFERENCES, RELOAD, SELECT, UPDATE ON *.* TO 'pepperandegg'@'localhost' WITH GRANT OPTION;
```

1. اکنون می‌توانید با دستور exit از اعلان MySQL خارج شوید تا به اعلان کاربر اوبونتو خود بازگردید.

```bash
mysql> exit
Bye
pepperandegg@humorous-wombat:~$
```

## [#](#step-5-validate-your-mysql-install-and-test-basic-mysql-commands)مرحله 5: اعتبارسنجی نصب MySQL و تست دستورات پایه MySQL

اکنون که MySQL نصب و پیکربندی شده است، می‌توانید از آن به همین شکل استفاده کنید. با این حال، برای این آموزش، بیایید با انجام این کارهای اساسی، نصب را تأیید کنیم:

- با کاربر تازه ایجاد شده به MySQL وارد شوید
- یک `breakfast`پایگاه داده با `food`جدولی که دارای فیلدهای `sandwich`و است، ایجاد کنید.`description`
- روی `food`میز بنویسید
- `food`از روی جدول بخوانید
- حذف `breafast`پایگاه داده
- خروج از MySQL

1. ابتدا با این دستور وارد سیستم می‌شویم (به جای pepperandegg نام کاربری خود را وارد کنید و رمز عبور خود را در اعلان وارد کنید)

```bash
mysql -u pepperandegg -p
```

1. با این دستور یک جدول جدید به نام breakfast ایجاد کنید:

```mysql
CREATE DATABASE breakfast;
```

1. در مرحله بعد، جدول غذا را در پایگاه داده صبحانه ایجاد خواهیم کرد. ستون‌های ساندویچ و توضیحات را که از نوع داده varchar استفاده می‌کنند، با این دستور به پایگاه داده اضافه خواهیم کرد :

```mysql
CREATE TABLE breakfast.food (sandwich VARCHAR(20), description VARCHAR(255));
```

1. حالا، بیایید با استفاده از دستور INSERT INTO SQL یک ردیف جدید در پایگاه داده ایجاد کنیم:

```mysql
INSERT INTO breakfast.food(sandwich, description) VALUES ('Pepper and Egg', 'The absolute best sandwich ever');
```

1. با این دستور تمام ردیف‌های جدول ما را مشاهده کنید:

```mysql
SELECT * FROM breakfast.food;
```

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

```bash
mysql> SELECT * FROM breakfast.food;
+----------------+---------------------------------+
| sandwich       | description                     |
+----------------+---------------------------------+
| Pepper and Egg | The absolute best sandwich ever |
+----------------+---------------------------------+
1 row in set (0.00 sec)

mysql>
```

1. حالا که تست‌هایمان تمام شد، بیایید `breakfast`پایگاه داده‌مان را با این دستور حذف کنیم:

```mysql
DROP database breakfast;
```

1. در نهایت، بیایید از MySQL خارج شویم و با دستور exit به خط فرمان اوبونتو برگردیم:

```bash
mysql> exit
Bye
pepperandegg@humorous-wombat:~$
```

## [#](#mysql-ubuntu-command-cheat-sheet)برگه تقلب دستورات MySQL در اوبونتو

اگر تازه کار با MySQL و اوبونتو را شروع کرده‌اید، ممکن است زمان زیادی را صرف جستجوی دستورات اولیه در گوگل (یا DuckDuckGo) کنید. برای کمک به کاهش این دردسر، ما یک راهنمای دستورات MySQL و اوبونتو برای شما گردآوری کرده‌ایم. در زیر برخی از دستورات رایج که ممکن است مفید باشند، آورده شده است. برای سادگی، فرض می‌کنیم که شما دستورات را روی یک سرور محلی MySQL که به آن دسترسی ریشه دارید، اجرا می‌کنید.

### [#](#show-all-databases)نمایش همه پایگاه‌های داده

```mysql
SHOW DATABASES;
```

### [#](#show-all-tables-in-a-database)نمایش تمام جداول یک پایگاه داده

```mysql
USE your_database_name;
SHOW TABLES;
```

### [#](#view-all-mysql-users)مشاهده همه کاربران MySQL

```mysql
USE mysql;
SELECT user FROM user;
```

### [#](#view-a-mysql-users-privileges)مشاهده امتیازات یک کاربر MySQL

به جای username، نام کاربری مورد نظر را وارد کنید:

```mysql
SHOW GRANTS  FOR 'username'@'localhost';
```

### [#](#delete-a-mysql-user)حذف یک کاربر MySQL

به جای username، نام کاربری مورد نظر را قرار دهید.

```mysql
DROP USER 'username'@'localhost';
```

## [#](#final-thoughts-build-something-great)سخن آخر: چیزی عالی بسازید!

امیدواریم از آموزش نصب و پیکربندی MySQL در اوبونتو لذت برده باشید! موارد استفاده جالب زیادی برای MySQL وجود دارد و می‌تواند یک RDBMS عالی برای پروژه بعدی شما باشد. اکنون که اصول اولیه را می‌دانید، می‌توانید شروع به ساختن چیزی عالی کنید.
