مقدمه
این آموزش نحوه استفاده از شبکههای ابری Hetzner برای دسترسی به پایگاه داده MySQL را توضیح میدهد که روی یک سرور ابری (سرور MySQL) از یک سرور ابری دوم (کلاینت MySQL) مدیریت میشود.
پیش نیازها
- 1 سرور ابری Hetzner با MySQL قبلاً نصب شده است.
شما می توانید MySQL را به صورت دستی نصب کنید یا می توانید به سادگی برنامه “LAMP Stack” را هنگام ایجاد سرور انتخاب کنید.
مرحله 1 – یک شبکه خصوصی ایجاد کنید
شبکه خصوصی خود را تحت پروژه Hetzner Cloud خود در منطقه ای که می خواهید استفاده کنید ایجاد کنید.
به یاد داشته باشید که محدوده IP پیش فرض روی 10.0.0.0/16 تنظیم شده است.
مرحله 2 – سرور را به شبکه متصل کنید
اکنون می توانید سرور MySQL را به شبکه جدید متصل کنید. می توانید این کار را با استفاده از Cloud Console یا ابزار hcloud
انجام دهید.
hcloud server attach-to-network <your-server-name> --network <your-network-name> --ip <pvt-ip>
قسمت آخر با --ip <pvt-ip>
; اختیاری است. اگر IP خصوصی خاصی را مشخص نکنید، سیستم Hetzner Cloud به طور خودکار یک IP خصوصی رایگان را برای شما اختصاص می دهد.
مرحله 3 – پیکربندی MySQL را تغییر دهید
برای دسترسی به MySQL از دستگاه دیگری، باید تغییری در فایل /etc/mysql/mysql.conf.d/mysqld.cnf
ایجاد کنید.
فایل mysqld.cnf
را ویرایش کنید
برای باز کردن فایل پیکربندی MySQL از دستور زیر استفاده کنید:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
پارامتر bind-address
را از 127.0.0.1
به 0.0.0.0
تغییر دهید.
اگر MySQL را از طریق برنامه “LAMP Stack” نصب کرده اید، باید یک پورت MySQL (به طور پیش فرض 3306
) را با استفاده از ابزار ufw
باز کنید.
اگر MySQL را به صورت دستی نصب کرده اید، باید فایروال را با این دستور نصب کنید: apt-get
install ufw
فایروال را ویرایش کنید
برای باز کردن پورت 3306
یک قانون به فایروال اضافه کنید
ufw allow from 10.1.0.0/16 to any port 3306
10.1.0.0/16
را با محدوده IP شبکه ای که در مرحله 1 ایجاد کردید جایگزین کنید.
اگر از SSH برای اتصال به سرور خود استفاده می کنید، باید قبل از فعال کردن فایروال، اتصالات SSH را نیز مجاز کنید.
ufw allow OpenSSH
ufw enable
مرحله 4 – یک کاربر MySQL جدید ایجاد کنید
MySQL CLI را به عنوان کاربر ریشه وارد کنید:
mysql -u root -p
یک کاربر MySQL جدید ایجاد کنید که می تواند توسط نمونه های غیر محلی استفاده شود.
CREATE USER '<user>'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO '<user>'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
همچنین فراموش نکنید که پس از دستکاری فایل mysqld.cnf
، MySQL را مجددا راه اندازی کنید. برای خروج از MySQL CLI از CTRL
+D
استفاده کنید و دستور زیر را اجرا کنید:
service mysql restart
مرحله 5 – دسترسی MySQL را در شبکه خصوصی بررسی کنید
یک سرور جدید از ابتدا ایجاد کنید و آن را به همان شبکه خصوصی وصل کنید.
کلاینت MySQL را نصب کنید. برای مثال می توانید مشتری MariaDB داشته باشید.
apt update apt install mariadb-client -y
اکنون به IP خصوصی سرور اول نیاز دارید. در Cloud Console می توانید پروژه خود را انتخاب کرده و به لیست سرور بروید. از آنجا می توانید IP خصوصی این سرور را کپی کنید.
از این دستور برای اتصال به میزبان MySQL استفاده کنید:
mysql -h <mysql-host-private-ip> -u <user-created-above> -p
سپس فقط رمز عبور خود را که برای کاربر ایجاد شده است و voilà – شما وارد شده است، قرار دهید.
نتیجه
در اینجا شما فقط یک نمونه از نحوه دسترسی به پایگاه داده در شبکه خصوصی تحت هتزنر کلود را مشاهده کردید.