programing

bash의 변수에서 mysql 데이터베이스 생성

i4 2023. 6. 20. 21:22
반응형

bash의 변수에서 mysql 데이터베이스 생성

새 이름에 대한 변수를 사용하여 데이터베이스를 만들 bash 스크립트를 작성하려고 하는데 구문에 맞지 않습니다.나는 bash에 대해 거의 아무것도 모릅니다.내가 db 비밀번호를 입력한 후에 계속해서 1행에 구문 오류가 있다고 말합니다.

setup.sh

#!/bin/bash

db="mytest"

scl enable rh-mariadb 'mysql -u user -p -e "set @dbname=$db; \. setup_db.sql"'

setup_db.sql

SET @query = CONCAT('CREATE DATABASE `', @dbname, '`');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREAPRE stmt;

bash에 $db가 있는 db 이름을 하드코딩하면 다음 오류가 발생합니다.

'필드 목록'의 'mytest' 열을 알 수 없음

DB 이름을 따옴표로 묶어야 합니다. 그렇지 않으면 열 이름으로 처리됩니다.

scl enable rh-mariadb 'mysql -u user -p -e "set @dbname=\"$db\"; \. setup_db.sql"'

언급URL : https://stackoverflow.com/questions/68837059/create-mysql-database-from-variable-in-bash

반응형