ฉันกำลังสร้างสคริปต์ Bash สำหรับงานบางอย่าง หนึ่งในภารกิจเหล่านั้นคือการสร้างฐานข้อมูล MySQL จากภายในสคริปต์ทุบตีเดียวกัน สิ่งที่ฉันทำตอนนี้คือการสร้างสอง vars: หนึ่งสำหรับชื่อผู้ใช้ร้านค้าและอื่น ๆ สำหรับรหัสผ่านร้านค้า นี่คือส่วนที่เกี่ยวข้องของสคริปต์ของฉัน:
MYSQL_USER=root
MYSQL_PASS=mypass_goes_here
touch /tmp/$PROY.sql && echo "CREATE DATABASE $DB_NAME;" > /tmp/script.sql
mysql --user=$MYSQL_USER --password="$MYSQL_PASS" < /tmp/script.sql
rm -rf /tmp/script.sql
แต่มักจะได้รับข้อผิดพลาดว่าการเข้าถึงถูกปฏิเสธสำหรับผู้ใช้รูทด้วยรหัสผ่านไม่สิ่งที่ฉันทำผิด? ฉันต้องทำเช่นเดียวกันสำหรับ PostgreSQL
ps wwaux
นอกจากนี้ยังไม่เป็นความคิดที่ดีที่จะนำรหัสผ่านบนบรรทัดคำสั่งเนื่องจากพวกเขาจะมองเห็นได้ทุกคนสำหรับการโทร
echo "$MYSQL_PASS"
ก่อนส่งผ่านไปยังmysql
บรรทัดมีรหัสผ่านที่ถูกต้องหรือไม่