ubuntu

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

MySQL یک سیستم مدیریت پایگاه داده منبع باز است که معمولاً به عنوان بخشی از پشته محبوب LAMP (Linux ، Apache ، MySQL ، PHP / Python / Perl) نصب می شود. برای مدیریت داده های خود از یک پایگاه داده رابطه ای و SQL (زبان پرس و جوی ساختار یافته) استفاده می کند.
نصب نسخه کوتاه ساده است: فهرست بسته خود را به روز کنید ، بسته mysql-server را نصب کنید و سپس اسکریپت امنیتی گنجانده شده را اجرا کنید.
$ sudo apt update

$ sudo apt install mysql-server

$ sudo mysql_secure_installation

در این آموزش نحوه نصب MySQL نسخه 5.7 در سرور مجازی Ubuntu 18.04 توضیح داده خواهد شد. با این حال ، اگر به دنبال به روزرسانی نصب MySQL موجود به نسخه 5.7 هستید ، می توانید به جای این راهنما، مقاله به روزرسانی MySQL 5.7 را مطالعه کنید.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک سرور مجازی Ubuntu 18.04 که طبق راهنمای تنظیم اولیه سرور مجازی تنظیم شده باشد و شامل یک کاربر غیر ریشه با امتیازات sudo و فایروال باشد.
مرحله 1 – نصب MySQL
در اوبونتو 18.04 ، فقط آخرین نسخه MySQL بصورت پیش فرض در مخزن بسته APT گنجانده شده است. در زمان نوشتن این مقاله نسخه MySQL 5.7 است .
برای نصب آن ، ایندکس بسته را بر روی سرور مجازی خود با apt به روز کنید:
$ sudo apt update

سپس بسته پیش فرض را نصب کنید:
$ sudo apt install mysql-server

این کار MySQL را نصب می کند ، اما از شما خواسته نمی شود که رمز عبوری را تنظیم کنید یا تغییرات دیگری در پیکربندی ایجاد کنید. از آنجا که این کار باعث می شود نصب MySQL ناامن باشد ، در ادامه به این موضوع خواهیم پرداخت.
مرحله 2 – پیکربندی MySQL
برای ریفرش کردن نصب ها، بهتر است اسکریپت امنیتی موجود را اجرا کنید. این کار برخی از گزینه های پیش فرض با ایمنی کمتر را برای مواردی مانند ورود به سیستم ریشه از راه دور و کاربران نمونه تغییر میدهد. در نسخه های قدیمی MySQL ، شما باید دایرکتوری داده را به صورت دستی نیز تنظیم کنید ، اما اکنون این کار به صورت خودکار انجام می شود.
اسکریپت امنیتی را اجرا کنید:
$sudo mysql_secure_installation

این امر یک سری اعلان به شما نشان میدهد که می توانید برخی از گزینه های امنیتی نصب MySQL خود را تغییر دهید. اولین سؤال از شما میپرسد که آیا می خواهید افزونه Validate Password را تنظیم کنید ، که می تواند برای تست قدرت رمز ورود MySQL استفاده شود. صرف نظر از انتخاب شما ، اعلان بعدی تنظیم رمز عبور برای کاربر ریشه MySQL خواهد بود. رمز عبور مطمئن مورد نظر خود را وارد کرده و سپس تأیید کنید.
از آنجا ، می توانید Y و سپس ENTER را فشار دهید تا پیش فرض برای همه سؤالات بعدی را بپذیرید. با این کار برخی از کاربران ناشناس و بانک اطلاعاتی آزمایشی حذف می شوند ، ورود به سیستم ریشه از راه دور غیرفعال می شود و این قوانین جدید را لود می کنند تا MySQL فوراً با تغییراتی که ایجاد کرده اید منطبق شود.
برای مقدار دهی اولیه دایرکتوری داده MySQL ، می توانید از mysql_install_db برای نسخه های قبل از 5.7.6 ، و از mysqld –initialize برای 5.7.6 و بعد از آن استفاده کنید. با این حال ، اگر MySQL را از توزیع Debian نصب کردید ، همانطور که در مرحله 1 توضیح داده شد ، دایرکتوری داده به طور خودکار آغاز می شود. شما مجبور نیستید کاری انجام دهید. اگر به هر حال سعی کنید دستور را اجرا کنید ، خطای زیر را مشاهده خواهید کرد:
Output
mysqld: Can’t create directory ‘/var/lib/mysql/’ (Errcode: 17 – File exists)
. . .
2018-04-23T13:48:00.572066Z 0 [ERROR] Aborting

توجه داشته باشید که حتی اگر یک رمز عبور برای کاربر ریشه MySQL تنظیم کرده اید ، این کاربر برای تأیید اعتبار با گذرواژه هنگام اتصال به پوسته MySQL پیکربندی نشده است. در صورت تمایل می توانید با دنبال کردن مرحله 3 این کار را انجام دهید.
مرحله 3 – تنظیم تأیید اعتبار و امتیازات کاربر (اختیاری)
در سیستم های اوبونتو که MySQL 5.7 (و نسخه های بعدی) را اجرا می کند ، تأیید اعتبار کاربر ریشه MySQL بصورت پیش فرض با استفاده از افزونه auth_socket و نه با گذرواژه تنظیم شده است. این امر امنیت و قابلیت استفاده بیشتر را در بسیاری از موارد امکان پذیر می کند ، اما همچنین می تواند مواردی را که نیاز دارید به یک برنامه خارجی (مانند phpMyAdmin) برای دسترسی به کاربر اجازه بدهید، پیچیده تر کند.
به منظور استفاده از رمز عبور برای اتصال به MySQL به عنوان root ، باید روش تأیید اعتبار آن را از auth_socket به mysql_native_password تغییر دهید. برای این کار ، اعلان MySQL را از پایانه خود باز کنید:
$ sudo mysql

سپس ، با دستور زیر بررسی کنید که هر یک از حسابهای کاربری MySQL شما از کدام روش تأیید اعتبار استفاده میکند:
Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
4 rows in set (0.00 sec)

در این مثال ، می بینید که کاربر ریشه با استفاده از افزونه auth_socket ، تأیید اعتبار می کند. برای پیکربندی حساب ریشه برای تأیید اعتبار با رمز عبور ، دستور ALTER USER زیر را اجرا کنید. مطمئن شوید که رمز عبور را به رمز عبوری قوی به انتخاب خود تغییر می دهید و توجه داشته باشید که این دستور رمز اصلی را که در مرحله 2 تنظیم کرده اید تغییر می دهد:
Mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

سپس ، FLUSH PRIVILEGES را اجرا کنید که به سرور مجازی می گوید جداول اعطای امتیاز را لود مجدد کند و تغییرات جدید شما را اعمال کند:
Mysql> FLUSH PRIVILEGES;

روش های تأیید اعتبار استفاده شده توسط هر یک از کاربران خود را دوباره بررسی کنید تا تأیید کنید که ریشه دیگر با استفاده از افزونه auth_socket احراز هویت نمی کند:
Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
4 rows in set (0.00 sec)

در این مثال می توانید مشاهده کنید که کاربر ریشه MySQL اکنون با استفاده از یک رمز عبور تأیید اعتبار می کند. پس از تأیید این موضوع روی سرور مجازی خود ، می توانید از پوسته MySQL خارج شوید:
Mysql> exit

از طرف دیگر ، برخی ممکن است دریابند که اتصال به MySQL با یک کاربر اختصاصی برای جریان کاری آن ها مناسب تر است. برای ایجاد چنین کاربری ، بار دیگر پوسته MySQL را باز کنید:
$ sudo mysql

توجه: اگر احراز هویت رمز عبور را برای ریشه فعال کرده اید ، همانطور که در پاراگراف های قبلی توضیح داده شد ، برای دسترسی به پوسته MySQL باید از دستور دیگری استفاده کنید. موارد زیر کلاینت MySQL شما را با امتیازات کاربری معمول اجرا می کند و شما فقط با تأیید اعتبار ، امتیازات ادمین را در بانک اطلاعاتی دریافت خواهید کرد:
$ mysql -u root -p

از آنجا ، یک کاربر جدید ایجاد کنید و رمزعبور قوی به آن بدهید:
Mysql> CREATE USER ‘sammy’@’localhost’ IDENTIFIED BY ‘password’;

سپس امتیازات مناسب را به کاربر جدید خود اعطا کنید. به عنوان مثال ، شما می توانید امتیازات کاربر را به تمام جداول موجود در دیتابیس بدهید و همچنین قدرت اضافه کردن ، تغییر و حذف امتیازات کاربر را با این دستور اعطا کنید:
Mysql>GRANT ALL PRIVILEGES ON *.* TO ‘sammy’@’localhost’ WITH GRANT OPTION;

توجه داشته باشید که در این مرحله ، دیگر نیازی به اجرای فرمان FLUSH PRIVILEGES ندارید. این دستور فقط در صورت تغییر جدول های اعطای امتیاز با استفاده از عباراتی مانند INSERT ، UPDATE یا DELETE مورد نیاز است. از آنجا که شما به جای تغییر کاربر موجود، یک کاربر جدید ایجاد کرده اید ، FLUSH PRIVILEGES در اینجا لازم نیست.
پس از آن ، از پوسته MySQL خارج شوید:
Mysql>exit

در آخر ، بیایید نصب MySQL را آزمایش کنیم.
مرحله 4 – تست MySQL
صرف نظر از نحوه نصب آن ، MySQL باید به صورت خودکار شروع به کار کند. برای آزمایش این موضوع ، وضعیت آن را بررسی کنید.
$ systemctl status mysql.service

خروجی مشابه زیر را مشاهده خواهید کرد:
Output
● mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Wed 2018-04-23 21:21:25 UTC; 30min ago
Main PID: 3754 (mysqld)
Tasks: 28
Memory: 142.3M
CPU: 1.994s
CGroup: /system.slice/mysql.service
└─3754 /usr/sbin/mysqld

اگر MySQL در حال اجرا نیست ، می توانید آن را با sudo systemctl start mysql راه اندازی کنید.
برای بررسی بیشتر ، می توانید با استفاده از ابزار mysqladmin ، که یک کلاینت است و به شما امکان اجرای دستورات ادمین را می دهد ، به پایگاه داده وصل شوید. به عنوان مثال ، این دستور می گوید به عنوان ریشه (-u root) به MySQL متصل شوید، اعلان گذرواژه را پر کنید (-p) ، و نسخه را برگردانید.
$ sudo mysqladmin -p -u root version

باید خروجی مشابه این را ببینید:
Output
mysqladmin Ver 8.42 Distrib 5.7.21, for Linux on x86_64
Copyright (c) 2000, 2018, 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 5.7.21-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 30 min 54 sec

Threads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Que

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

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

نصب و پیکربندی Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجرای چند نسخه PHP بر روی یک سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پیکربندی Elasticsearch در اوبونتو 18.04

راه اندازی سرور اولیه با اوبونتو 20.04 – تنظیم کلیدهای SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روی سرور Ubuntu 18.04 –  نحوه نصب Python 3 روی سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنیتی برای محافظت از سرورهای شما –  نحوه نصب و ایمن سازی Redis در اوبونتو 20.04

نحوه نصب و ایمن سازی Redis در اوبونتو 18.04اضافه کردن فضای Swap در اوبونتو 20.04

چگونه می توان فایروال را با UFW در اوبونتو 20.04 تنظیم کردنظارت بر اطلاعیه و مسیر BGP با BGPalerter اوبونتو 18.04

نصب و ایمن سازی phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ریست کردن رمز ورود ریشه MySQL یا MariaDB –  استفاده از نوع داده MySQL BLOB برای ذخیره تصاویر

نصب Nginx در اوبونتو 18.04نصب توزیع Anaconda پایتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظیم محیط توسعه در اوبونتو 16.04

نصب جنگو و تنظیم محیط توسعه در اوبونتو 20.04 – نحوه ایجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازی یک پروژه Node با Typescript –  نحوه نصب و پیکربندی VNC در اوبونتو 18.04

ایجاد یک برنامه Django و اتصال آن به یک بانک اطلاعاتینصب و پیکربندی VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازی و اتصال رابط کاربری Django

تنظیم پلتفرم Cloud IDE کد سرور را در اوبونتو 18.04پیکربندی Apache HTTP با رویداد MPM و PHP-FPM

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/