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

در این مقاله مراحل برقراری اتصال ریموت به پایگاه داده mysql آموزش داده می‌شود.

 

اگر می‌خواهید به‌صورت از راه دور به پایگاه‌داده mysql خود دسترسی پیدا کنید، باید یک IP استاتیک داشته باشید. بدین صورت می‌توانید همزمان با اضافه کردن آدرس IP خود به کاربر mysql، به آن دسترسی داشته باشید.

علاوه‌براین، همه سرورها درخواست ورود به پورت 3306 را مسدود می‌کنند؛ دقت کنید که شماره باید این شماره پورت را برای IP انتخابی خود در سرورتان باز نگه دارید.

 

این مطلب نیز ممکن است برای شما مفید باشد: رفع خطای 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111)

 

Localhost چیست؟

Localhost یک آدرس رزرو شده است که یک کامپیوتر یا دستگاه می‌تواند، هنگام مراجعه به خود از آن استفاده نماید.

 

دسترسی از راه دور (ریموت) چیست؟

دسترسی از راه دور، دستیابی به یک کامپیوتر یا یک شبکه را از راه دور فراهم می‌کند.

در اینجا می‌خواهیم از MySQL Workbench کامپیوتر شخصی خود به پایگاه داده mysql دسترسی پیدا کرده و ببینم چه اتفاقی خواهد افتاد.
تنظیمات به شرح زیر است:

تنظیمات:
نام اتصال: 2daygeek-demo-db
روش اتصال: استاندارد (TCP / IP)

پارامترها:
نام میزبان: 83.170.96.101 (آدرس IP سرور)
پورت: 3306 (پورت دسترسی به mysql)
نام کاربری: demou (نام پایگاه داده ای که می‌خواهید متصل شوید)
پسورد: ******* (رمز عبور پایگاه داده خود)

 

اگرچه جزئیات لازم را صحیح ارائه کرده‌ایم؛ اکنون اگر بخواهیم به پایگاه‌داده دسترسی پیدا کنیم، با پیام خطای زیر برخورد می‌نماییم.

 

 

نحوه نمایش پایگاه داده ایجاد شده

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

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demodb             |
| demodb1            |
| 2daygeek           |
| mysql              |
| performance_schema |
+--------------------+
6 rows in set (0.01 sec)

 

 

این مطلب نیز ممکن است برای شما مفید باشد: بررسی پایگاه داده MySQL و MariaDB و اندازه جدول در لینوکس

 

نحوه نمایش کاربران پایگاه‌داده ایجاد شده

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

mysql> SELECT User FROM mysql.user;
+-----------+
| User      |
+-----------+
| 2daygeek  |
| root      |
| root      |
|           |
| root      |
|           |
| demou     |
| demouser1 |
| 2daygeek  |
| root      |
+-----------+
10 rows in set (0.00 sec)

 

نحوه نمایش امتیاز میزبان و کاربر

برای بررسی لیست میزبان اختصاص یافته به کاربران در سرور mysql از دستور زیر استفاده نمایید.

mysql> select user,host from mysql.user;
+-----------+------------------------+
| user      | host                   |
+-----------+------------------------+
| 2daygeek  | %                      |
| root      | 127.0.0.1              |
| root      | ::1                    |
|           | Server10001.uk2net.com |
| root      | Server10001.uk2net.com |
|           | localhost              |
| demou     | localhost              |
| demouser1 | localhost              |
| 2daygeek  | localhost              |
| root      | localhost              |
+-----------+------------------------+
10 rows in set (0.00 sec)

با مشاهده خروجی می‌توان دریافت که کاربر demou به‌صورت محلی (در داخل سرور) و نه برای بیرون (از راه دور) قابل دسترسی خواهد بود. اکنون می‌خواهیم یک دسترسی از راه دور به IP استاتیک خود بدهیم. مراحل زیر را دنبال کنید.

 

 

این مطلب نیز ممکن است برای شما مفید باشد: نکات مفید برای رفع خطاهای رایج در MySQL

 

نحوه اختصاص دادن امتیاز به کاربر

برای فعال کردن دسترسی از راه دور می‌توانید از دستور زیر استفاده کنید.

mysql> GRANT ALL PRIVILEGES ON demodb.* TO 'demou'@'219.91.219.14';
Query OK, 0 rows affected (0.00 sec)

به ازای هر مجوزی که به پایگاه‌داده اختصاص می‌دهید، باید امتیازات مربوطه را با دستور flush منتشر نمایید.

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

در این مرحله می‌خواهیم بررسی کنیم که آیا این آدرس IP به کاربر موردنظر اضافه شده است یا خیر.

mysql> select user,host from mysql.user;
+-----------+------------------------+
| user      | host                   |
+-----------+------------------------+
| 2daygeek  | %                      |
| root      | 127.0.0.1              |
| demou     | 219.91.219.14          |
| root      | ::1                    |
|           | Server10001.uk2net.com |
| root      | Server10001.uk2net.com |
|           | localhost              |
| demou     | localhost              |
| demouser1 | localhost              |
| 2daygeek  | localhost              |
| root      | localhost              |
+-----------+------------------------+
11 rows in set (0.00 sec)

یک بار دیگر برای دسترسی به پایگاه داده از طریق MySQL Workbench تلاش می‌کنیم. همانطور که در زیر مشاهده می‌کنید، دسترسی به پایگاه‌داده با موفقیت صورت گرفت.

 

 

منبع:

2daygeek