Benzer soru StackOverflow üzerinde de var.
Cevabımı oradan özetlemek gerekirse .
Yapabilirsin export MYSQL_PWD=yourverysecretpassword
.
Bu yöntemin bir yapılandırma dosyası kullanmanın tersi, komut dosyanızla senkronize olmak için ayrı bir yapılandırma dosyasına ihtiyacınız olmamasıdır. Sadece senaryonuz var.
Orada hiçbir olumsuz bu yönteme.
Şifredir değil sistemde diğer kullanıcılar tarafından görülebilir (bu komut satırında ise görünür olacaktır). Ortam değişkenleri yalnızca mysql komutunu ve kökü çalıştıran kullanıcı tarafından görülebilir.
Parola ayrıca komut dosyasının kendisini okuyabilen herkes tarafından da görülebilir, bu nedenle komut dosyasının kendisinin korunduğundan emin olun. Bu hiçbir şekilde bir yapılandırma dosyasını korumaktan farklı değildir. Komut dosyasının herkes tarafından okunmasını istiyorsanız, şifreyi yine de ayrı bir dosyadan alabilirsiniz export MYSQL_PWD=$(cat /root/mysql_password)
. Bir değişkeni dışa aktarmak, bir yapılandırma dosyası oluşturmaktan daha kolaydır.
Örneğin,
$ export MYSQL_PWD=xoF3mafn5Batxasdfuo
$ mysqldump -u root mysql | head
-- MySQL dump 10.13 Distrib 5.6.23, for Linux (x86_64)
--
-- Host: localhost Database: mysql
-- ------------------------------------------------------
-- Server version 5.6.23
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
echo "$MYSQL_PASS"
geçmeden önce denemysql
. Doğru şifreye sahip mi?