~3 دقیقه مطالعه • بروزرسانی ۲۹ بهمن ۱۴۰۴
1. معرفی MysqlDump Stream
MysqlDump Stream یک قابلیت آزمایشی در cPanel & WHM است که به شما اجازه میدهد خروجی mysqldump را از طریق WebSocket دریافت کنید، بدون اینکه نیاز باشد وارد سرور شوید. این قابلیت برای بکاپگیری سریع و ریموت بسیار کاربردی است.
هشدار: این قابلیت آزمایشی است و ممکن است در نسخههای آینده تغییر کند.
2. نحوه استفاده از MysqlDump Stream
برای استفاده از این قابلیت باید از یک کلاینت WebSocket استفاده کنید و با API Token یا Basic HTTP Authentication احراز هویت شوید.
استفاده از Basic HTTP Authentication
برای احراز هویت با نام کاربری و رمز عبور، مستندات Guide to API Authentication را دنبال کنید.
ساخت API Token در cPanel
از مسیر زیر یک توکن بسازید:
cPanel » Home » Security » Manage API Tokensساخت API Token در WHM
WHM » Home » Development » Manage API Tokensنکته مهم: فقط root یا ریسلرهای دارای سطح دسترسی root میتوانند از MysqlDump Stream در WHM استفاده کنند.
3. پارامترهای MysqlDump
| پارامتر | توضیح | مثال |
|---|---|---|
dbname |
نام دیتابیس | dbname=username_db |
character_set |
نوع کاراکترست (utf8mb4 یا utf8) | character_set=utf8mb4 |
include_data |
آیا دادهها هم در خروجی باشند؟ (1 یا 0) | include_data=1 |
نکته: اگر به خطای Incompatible Change برخورد کردید، از گزینه --no-tablespaces استفاده کنید.
کدهای خروج WebSocket
1000— موفقیت1011— خطای عمومی4000— خطای Collation
4. نمونه دستور wscat برای دریافت Dump
wscat -H 'Authorization: cpanel username:API_TOKEN' \
-c 'wss://example.com:2083/websocket/MysqlDump?dbname=username_db1&include_data=1&encoding=utf8mb4' \
> /PATH/file.sqlدر این مثال:
username= نام کاربری cPanelAPI_TOKEN= توکن APIexample.com= دامنه سرورfile.sql= مسیر ذخیره خروجی
5. رفع خطاهای پروفایل MySQL
اگر هنگام اتصال به MySQL ریموت خطا دریافت میکنید، موارد زیر را بررسی کنید.
خطای DNS
سرور نمیتواند hostname را resolve کند. تنظیمات DNS را بررسی کنید.
خطای IP نامعتبر
آدرس IP اشتباه است یا سرور ریموت پاسخ نمیدهد.
پورت اشتباه SSH
ss -pln | grep sshاعتبارسنجی اشتباه SSH
نام کاربری یا رمز اشتباه است.
خطای عدم اجازه اتصال
mysql> CREATE USER 'user'@'hostname' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'hostname' WITH GRANT OPTION;خطای فایروال (110)
پورت MySQL در فایروال باز نیست.
MySQL Down
سرویس MySQL روی سرور ریموت خاموش است. آن را ریاستارت کنید.
پورت MySQL اشتباه
ss -pln | grep mysqlخطای Reverse DNS
host 1.2.3.46. تغییر رمز root در MySQL ریموت
از مسیر زیر رمز را تغییر دهید:
WHM » Home » SQL Services » MySQL Root Passwordاگر MySQL 8.0 روی سرور ریموت نصب است
باید تنظیمات validate-password را تغییر دهید:
validate-password.policy=0
validate-password.length=1
validate_password.special_char_count=0
validate_password.mixed_case_count=0
validate_password.number_count=0اگر MySQL 8 روی سرور غیر cPanel است
mysql_native_password=ON
authentication_policy=mysql_native_passwordسپس:
ALTER USER 'root'@'cpanel.server.host' IDENTIFIED WITH mysql_native_password BY 'StrongPassword123!';نتیجهگیری
MysqlDump Stream یک ابزار قدرتمند برای دریافت خروجی دیتابیس از راه دور است و بخش رفع خطاهای MySQL نیز به شما کمک میکند مشکلات اتصال به سرورهای ریموت را سریعتر حل کنید.
نوشته و پژوهش شده توسط دکتر شاهین صیامی