DB kullanıcı şifresini komut satırı aracına mysqladmin'e aktarmanın bir yolu var mı?


103

Şu anda aşağıdakileri kullanıyorum ama HER ZAMAN parolayı manuel olarak yazmamı istiyor. Yürütülebilir dosyayı başlatırken komut satırına aktarmanın bir yolu var mı?

mysqladmin processlist -u root -p

4
Ortamda ( export MYSQL_PWD=muhpassword) MYSQL_PWD'yi ayarlayın ve komutunuzu -p. Bkz. MySQL Program Ortamı Değişkenleri . Kılavuzun korkunç uyarılarına rağmen , bu oldukça güvenlidir . Aynı kabukta çevrenize zarar verebilecek ve onu darkaspirator.cc'ye gönderebilecek garip warez başlatmazsanız.
David Tonhofer 18

Yanıtlar:


190

Sadece cevabı buldum ...

mysqladmin processlist -u root -pYOURPASSWORDHERE

Parolanız ve -p arasında boşluk yok


14
parola boşluklar içeriyorsa alıntılara da izin verilir, örneğin:-p'YOURPASSWORD HERE'
Vigintas Labakojis

40
Vay canına ... gerçek sezgisel ... Arasında -h localhostve arasında boşluk var -u rootama değil -pPASSWORD. Klasik programcılar her şeyi gereğinden daha zor hale getiriyor.
Kolob Canyon

4
@KolobCanyon -u ve kök arasındaki boşluğu atlayabilirsiniz, -urootiyi çalışıyor
Peter Ajtai

11
Uyarı: bunun güvenli olmadığı kabul edilir: dev.mysql.com/doc/mysql-security-excerpt/5.7/en/…
neverendingqs

3
@KolobCanyon: Parolanız bir boşlukla başlıyorsa ne olur? ;) Programcı, boşluğun seçeneği ve değerini ayırıp ayırmayacağına veya şifrenin ilk karakteri olup olmadığına karar veremez…
Stéphane

43

Deneyin:

--password=PasswordTextHere 

"Boş" bir parola geçirmeniz gerektiğinde kullanışlıdır (tabii ki test amacıyla).
Ivo Pereira

bu aynı zamanda komut satırında boş bir parola
geçirmek

10

Bu çalışmalı: mysql -uroot -p'password'

Mysql çözümünü otomatikleştirmeye çalışıyorsanız, değişkenlerden şifre kullanabilirsiniz:

mysql_pass=$(sudo grep -oP "temporary password is generated for root@localhost: \K(.*)" /var/log/mysqld.log)

mysql -uroot -p"$mysql_pass" < somescript.sql

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.