Pertanyaan serupa ada di StackOverflow.
Untuk meringkas jawaban saya dari sana.
Kamu bisa export MYSQL_PWD=yourverysecretpassword
.
Kelebihan metode ini dalam menggunakan file konfigurasi adalah Anda tidak perlu file konfigurasi terpisah untuk tetap sinkron dengan skrip Anda. Anda hanya memiliki skrip untuk dipelihara.
Tidak ada kerugian untuk metode ini.
Kata sandi tidak terlihat oleh pengguna lain di sistem (itu akan terlihat jika ada di baris perintah). Variabel lingkungan hanya terlihat oleh pengguna yang menjalankan perintah mysql, dan root.
Kata sandi juga akan terlihat oleh siapa saja yang dapat membaca skrip itu sendiri, jadi pastikan skrip itu sendiri terlindungi. Ini sama sekali tidak berbeda dengan melindungi file konfigurasi. Anda masih dapat sumber kata sandi dari file terpisah jika Anda ingin agar skrip dapat dibaca export MYSQL_PWD=$(cat /root/mysql_password)
untuk umum ( misalnya). Masih lebih mudah untuk mengekspor variabel daripada membangun file konfigurasi.
Misalnya,
$ 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"
sebelum Anda meneruskannya kemysql
baris. Apakah ada kata sandi yang benar?