MySQL istemci parolasını saklayın veya parolayı daha az kimlik doğrulaması yapın


11

Mysql komut satırı istemcisini kullanıyorum ve istemciyi her başlattığımda parolayı sağlamak istemiyorum. Seçeneklerim neler?


Lütfen bu soruların birçoğunun doğru çözüm olduğu anlaşıldığı için önceki sorularınızın bazılarına verilen yanıtları kabul edin - yanıtın solundaki ana hat işaretli onay işaretini tıklayın.
Shane Madden

Yanıtlar:


15

.my.cnfAna dizininizde buna benzeyen bir dosya oluşturun . Dosya sistemi izinlerinin yalnızca sahip olan kullanıcının okuyabileceği şekilde ayarlandığından emin olun (0600).

[client]
host     = localhost
user     = username.
password = thepassword
socket   = /var/run/mysqld/mysqld.sock
#database = mysql

Sorunuzu mysqldump olarak da etiketlediğiniz için bu soruya bakmalısınız.

Kök şifresi olmadan cron işinde mysqldump kullanma

Güncelleme (2016-06-29) mysql 5.6.6 veya üstünü çalıştırıyorsanız, kimlik bilgilerini şifrelenmiş bir dosyada saklamanızı sağlayan mysql_config_editor aracına bakmalısınız . Giovanni'ye bundan bahsettiği için teşekkürler .


Bu harika çalıştı .. Thanku
Yolculuk

Yanıt sorununuzu çözdüyse kabul etmek için onay işaretini tıklamanız gerekir.
Zoredache

1
Bu, şifreyi düz bir bakış açısı olarak saklar, bu da güvenlik açısından caydırdığım bir uygulamadır.
Giovanni

@Giovanni elbette, cevabınızda bahsettiğiniz mysql_config_editor olsa da, 5.6.6 çalışana kadar kullanışlı değil. Bugün hala eski sürümleri olan dağıtımlar var.
Zoredache

Peki bu Windows'ta nasıl yapılır?
Wolfpack'08

9

mysql_config_editorYardımcı programı, kimlik doğrulama bilgilerini adlı şifreli bir giriş yolu dosyasında saklamak için kullanabilirsiniz .mylogin.cnf.

Yeni bir kimlik bilgileri kümesi oluşturmak için:

mysql_config_editor set --host=db.host.org --user=dbuser --password

ve istendiğinde şifrenizi girin.

Bu, kimlik doğrulama bilgilerinizi varsayılan clientgiriş yolunda saklar .

Farklı bir --login-pathseçenek belirterek birden fazla kimlik doğrulama bilgisini saklayabilirsiniz :

mysql_config_editor set --login-path=db2 --host=db2.host.org --user=dbuser --password

Varsayılan olarak, mysqlistemci diğer seçenek dosyalarından [client]ve [mysql]gruplarını okur , böylece giriş yolu dosyasından da okur. Bir --login-pathseçenekle, istemci programları ayrıca oturum açma yolu dosyasından adlandırılmış oturum açma yolunu okur. Diğer seçenek dosyalarından okunan seçenek grupları aynı kalır. Bu komutu düşünün:

mysql --login-path=db2

mysqlİstemci okur [client]ve [mysql]diğer seçenek dosyalarından ve [client], [mysql]ve [mypath]giriş yolu dosyasından.

Yapılandırma dosyasında saklanan tüm bilgileri yazdırmak için:

mysql_config_editor print --all=true

Yardımcı program hakkında daha fazla bilgiyi "mysql_config_editor - MySQL Yapılandırma Yardımcı Programı" nda bulabilirsiniz .


2

.Mylogin.cnf dosyasının güvenli olduğunu iddia etmemeliyiz , çünkü my_print_defaults -s [use your login-path]bu şifreyi düz metin olarak göstermek için kullanabilirim. Bu nedenle MariaDB bu “belirsiz güvenlik” yaklaşımını desteklememektedir.


Peki olduğu zaman bu sorunun cevabı?
Pierre.Vriens

0

Yukarıda belirtilen yöntemlere dik başka bir yol daha vardır, ancak başka bir kişi monitörünüzü izliyorsa VEYA geçmişinizi kaydediyorsanız bir güvenlik riski olabilir .

Bununla birlikte, size sorulmasını önleyecek bir seçenek ve atmak-off docker görüntüleri ve benzeri kullandığım bir seçenek ....

mysql -u YOUR_USER --password=YOUR_PASSWORD_HERE your_database -e "your query" etc.

Sizden istenmez, isterseniz kabukta geçici bir diğer ad ayarlayabilirsiniz.

Dikkatle kullanın.

mysql Ver 14.14 Readline 5.1 kullanarak debian-linux-gnu (x86_64) için 5.5.61-38.13 dağıtın

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.