2013-04-30 11 views
39

Ich versuche, 2 der mysql-Dienstprogramme zu verwenden, mysqldiff und mysqldbcompare und möchte mein Passwort auf der KommandozeileMySQL Utilities - ~/.my.cnf Option Datei

vermeiden, dass Ist es möglich, eine Option zu verwenden, Datei, um das Passwort für meine DB-Verbindung anzugeben, damit ich das Passwort nicht angeben muss?

Dies ist die Art von Befehl, die ich zur Zeit haben ...

/usr/share/mysql-workbench/python/mysqldiff [email protected] [email protected] --difftype=sql db1:db2 

Ich habe auch eine Datei unter ~/.my.cnf, die „600“ Berechtigungen und enthält die folgenden ..

hat
[client] 
user=root 
password=mypassword 

Wenn ich über die Kommandozeile eine Verbindung zum MySQL es die Details in meiner Optionsdatei nimmt aber die MySQL-Dienstprogramme nicht: -/

Antwort

56

Try this -

[client] 
user=root 
password="pass" 

[mysql] 
user=root 
password="pass" 

[mysqldump] 
user=root 
password="pass" 

[mysqldiff] 
user=root 
password="pass" 

Ort für .my.cnf: ~/.my.cnf

entnehmen Sie bitte dem Handbuch Seite mit dem Titel Using Option Files

31

Um auf @ Antwort des Retraut verbessern Sie Ihre Passwörter in Anführungszeichen. Die angenommene Antwort würde nicht funktionieren, wenn Sie Sonderzeichen in Ihrem Passwort haben, was übrigens eine gute Sicherheitsvorkehrung ist.

[client] 
user=root 
password="[email protected]$$" 

[mysql] 
user=root 
password="[email protected]$$" 

[mysqldump] 
user=root 
password="[email protected]$$" 

[mysqldiff] 
user=root 
password="[email protected]$$" 

http://dev.mysql.com/doc/refman/5.7/en/option-files.html

Suche nach „Hier ist eine typische Datei Benutzeroption:“ und siehe das Beispiel sie dort angeben. Viel Glück, und ich hoffe, jemand anderen Zeit zu sparen.

+3

Danke! Würden Sie, wenn möglich, mehrere Upvotes geben :) – Grynn

+1

Ich habe mich gefragt, warum mein Passwort nicht akzeptiert wurde. Jetzt weiß ich. – Kzqai

+0

Für ein root-Passwort, das Sie sowieso speichern, ist es in Ordnung, eine ~ 128-Bit-Nummer zu generieren und sie einfach als Hex oder was auch immer zu speichern. 16 Latin-1-Zeichen absoluten Mülls entsprechen 32 Zeichen von '[0-9a-f]'. –