Mysqldump कंसोल का उपयोग करके पासवर्ड बचाना


55

मैं बैश स्क्रिप्ट के माध्यम से एक mysqldump चला रहा हूं और एक पासवर्ड के साथ एक समस्या का सामना कर रहा हूं जिसमें विशेष वर्ण हैं।

mysqldump -hlocalhost -uUSERNAME -pPA$$W0RD DATABASE | 
                                gzip > /home/USERNAME/backups-mysql/BACKUP.gz

मैं पासवर्ड से कैसे बचूँ?

जवाबों:


84

मुझे जवाब मिल गया। आपको पासवर्ड को इस तरह उद्धृत करना होगा:

mysql -u root -p'PASSWORD'

यदि पासवर्ड में निम्न में से कोई भी वर्ण हो तो आपको यह करना चाहिए: * ? [ < > & ; ! | $ ( )


क्या आप जानते हैं कि पासवर्ड के भीतर एपोस्ट्रोफ से कैसे बचा जाए?
स्टीव मेने

3
@SteveMayne मुझे लगता है कि इसके पहले इसका सिर्फ एक बैकस्लैश
psynnott

3
कोष्ठक भी उद्धरण में होना चाहिए।
फेलिक्स गगनोन-ग्रेनियर

1
विंडोज पर मैंने पाया कि मुझे दोहरे उद्धरण चिह्नों का उपयोग करना था। सिंगल कोट्स काम नहीं आया। (MySQL 5.6)
TheStoryCoder

1
पासवर्ड में रिक्त स्थान के लिए भी ''
हफेनक्रानिक

12

जब आप उद्धरण का उपयोग करते हैं, तो सुनिश्चित करें कि कोई स्थान नहीं है:
बीच -pऔर 'PASSWORD' या
बीच --password=और'PASSWORD'

सही बात:
mysql -u root -p'PASSWORD'
mysql -u root --password='PASSWORD'

काम नहीं करता:
mysql -u root -p 'PASSWORD'
mysql -u root --password = 'PASSWORD'

आप एक चर को भी परिभाषित कर सकते हैं और फिर कमांड के लिए इसका उपयोग कर सकते हैं (फिर भी बीच में कोई रिक्त स्थान नहीं है) MSQLPWD='PASSWORD'
mysql -u root -p$MSQLPWD


2

अपने खोल पर निर्भर करता है। क्या आप Microsoft विंडोज या लिनक्स का उपयोग कर रहे हैं? यदि आप Linux / BASH का उपयोग कर रहे हैं तो संभावना है कि $$ को आपकी वर्तमान प्रक्रिया आईडी के रूप में व्याख्यायित किया जा रहा है। क्या आपने प्रत्येक डॉलर चिह्न के सामने बैकस्लैश लगाने की कोशिश की है? जैसे

mysqldump \
  -hlocalhost \
  -uUSERNAME \
  -pPA\$\$W0RD \
  DATABASE \
| gzip -c \
> /home/USERNAME/backups-mysql/BACKUP.gz

ध्यान दें कि अगर आप STDOUT को कंप्रेस करना चाहते हैं तो gzip को "-c" विकल्प की आवश्यकता है।


मैं जिस पासवर्ड का उपयोग कर रहा हूं वह PA $$ W0RD नहीं है, लेकिन मैंने इसे एक उदाहरण के रूप में उपयोग किया है। मैं जिस वास्तविक पासवर्ड का उपयोग कर रहा हूं, उसमें एम्परसेंड है और यही समस्या पैदा कर रहा है। मैंने आपके सुझाव के अनुसार बैकस्लैश का उपयोग किया था लेकिन यह काम नहीं किया।
Psynnott

2

बैकस्लैशिंग ( \) उन विशेष वर्णों को आज़माएँ ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.