كيف ل mysqldump بعيد ديسيبل من الجهاز المحلي




(2)

ولست بحاجة للقيام mysqldump من قاعدة بيانات على خادم بعيد ، ولكن لم يتم تثبيت خادم mysqldump. أرغب في استخدام mysqldump على الجهاز الخاص بي للاتصال بقاعدة البيانات البعيدة والقيام بالتفريغ على الجهاز الخاص بي.

لقد حاولت إنشاء نفق ssh ومن ثم القيام بالتفريغ ، ولكن لا يبدو أن هذا العمل. حاولت:

ssh -f -L3310:remote.server:3306 [email protected] -N

يتم إنشاء النفق مع النجاح. إذا فعلت

telnet localhost 3310

أحصل على بعض دعاية مغالى فيها التي تظهر النسخة الصحيحة خادم الخلية. ومع ذلك ، يبدو أن القيام بما يلي هو محاولة الاتصال محليًا

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name

لم أرها في serverfault بعد ، والإجابة بسيطة للغاية:

يتغيرون:

ssh -f -L3310:remote.server:3306 [email protected] -N

إلى:

ssh -f -L3310:localhost:3306 [email protected] -N

والتغيير:

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name

إلى:

mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name

(لا تستخدم مضيف محلي ، إنه واحد من هراء "المعنى الخاص" الذي ربما يتصل بالمقبس بدلاً من المنفذ)

تحرير : حسنا ، لوضع: إذا تم تعيين localhost إلى localhost --socket ويفترض الخيار - تكوين (أو افتراضي) --socket . راجع الدليل لمعرفة ملفات الخيارات التي يتم استخدامها / استخدامها. تحت Windows ، يمكن أن يكون هذا توجيه إخراج مسمى.


يمكنك استدعاء mysqldump محليا ضد خادم بعيد.

المثال الذي عمل بالنسبة لي سيكون:

mysqldump -h hostname-of-the-server -u mysql_user -p database_name > file.sql

أنا فقط اتبعت documentation mysqldump على خيارات الاتصال.





mysqldump