Şifrelerin veritabanı başına veya .my.cnf'deki ana bilgisayar başına yapılandırılmış olması mümkün mü?


47

Bende aşağıdaki var ~/.my.cnf

[client]
password="somepass"

ancak bu bağlandığım her kullanıcı @ host / veritabanı için kullandığım parola değil. Config içinde farklı şeyler için farklı şifreler belirlemenin bir yolu var, bu yüzden onları yazmak zorunda kalmam mı?


: [1] [1] [Kullanıcı @DTest bu yılın Mayıs ayında böyle bir soruyu yanıtladı] dba.stackexchange.com/questions/2820/...
RolandoMySQLDBA

Yanıtlar:


64

Ben cevap olarak burada aşağıdaki konularda içinde sözdizimi kullanarak bağlanmak db, sen / her kullanıcı / konak için bir bölüm ekleyebilirsiniz ~/.my.cnf:

[clienthost1]   # Note: client + host1
user=myuser
password=mypass
database=dbname
host=server.location.com

Bu, kullanıcının içine girdikten sonra .my.cnf, bunu bir komut satırında yaparak kullanabilirsiniz:

$ mysql --defaults-group-suffix=host1

Söz verdiğim gibi, +1 !!!
RolandoMySQLDBA 23:11

Bu - varsayılan-grup sonekini açıklayabilir misiniz?
Otheus

Güzel. Buradan geriye kalanları anlayabilmem biraz zaman aldı ancak bir mysql Cron yedeği için, artık mysqldump --defaults-group-suffix = host1 -P 3306 -h 111.0.0.xxx --ssl -u db_usr db_name kullanabilirsiniz > / home / myaccount / backups / db_name _ $ (eko $ (tarih '+ \% Y \% m \% d'). sql.gz) gzip yedekleme oluşturmak için. Teşekkür ederim!
user1324409

Not: Eğer bunu /etc/mysql/my.cnf, ancak içinde tanımlanmış .my.cnfolan bir kullanıcı tanımlı gibi bir my.cnf [client]dosyasına koyarsanız , ikincisi global dosyadaki ayarları geçersiz kılar! boo.
Otheus

MariaDB'nin manpage'in sahte bir ekin xbölümü okuyacağını [client_x]ama gerçekte _xbunun için eke ihtiyacınız olduğunu unutmayın
Daniel Böhmer

8

Metin dosyalarına açık parola koymak mysql 5.6.6'dan beri önerilmez.

mysql_config_editorFarklı bağlantılar için farklı şifreler sağlamak üzere şifrelenmiş şifreleri de kaydetmek için kullanabilirsiniz . Https://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html



Mysql_config_editor'dan bahsetmek için +1
RolandoMySQLDBA

1
Bu program (1) önceki sürümlere getirilinceye kadar (2) otomatik şifre dağıtımına izin verir (yani, şifreleri TTY'de okunmaya zorlamamak), bu yöntemi önermiyorum.
Otheus

MariaDB, mysql_config_editor ile eşleşen karşılaştırılabilir desteğe veya özelliğe sahip mi?
Jeremy Hajek

@JeremyHajek Hayır, öyle değil ve büyük olasılıkla asla olmayacak çünkü MariaDB devs, yalnızca yanlış bir gelişmiş güvenlik hissi sağladığına işaret ediyor: MySQL 5.6: Complacency ile Güvenlik?
Bloodgain,

8

Diğer cevap doğru. Ne yazık ki mysqladmindesteklemiyor --defaults-group-suffix(en azından kullandığım sürümü değil).

Dolayısıyla ben kullanmaya başvurdu --defaults-file=HOST.cnfiçin çalışır, bunun yerine mysql, mysqladminve mysqldump.


2
Bunu benim .bash_profile alias my-host='mysql --defaults-file=HOST.cnf'
dosyama eklemek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.