Browse Source

使用 docker 容器中的 mysql 执行 sql 语句

reghao 3 months ago
parent
commit
35f42b93ca
2 changed files with 21 additions and 18 deletions
  1. 18 10
      srv/init_db.sh
  2. 3 8
      srv/start_thirdparty.sh

+ 18 - 10
srv/init_db.sh

@@ -10,8 +10,8 @@ base_dir=`pwd`
 cd ${base_dir}/schema
 
 host='127.0.0.1'
-username='dev'
-password='Dev@123456'
+username='test'
+password='Test@123456'
 
 db1='tnb_account_tdb'
 db2='tnb_content_tdb'
@@ -26,18 +26,26 @@ sql1="CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
 sql2="CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
 sql3="CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
 
-mysql -h${host} -u${username} -p${password} << EOF
- ${sql1}
- ${sql2}
- ${sql3}
-EOF
+docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db1} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
+docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db2} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
+docker exec -i mysql57 mysql -u${username} -p${password} -e "CREATE DATABASE ${db3} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
+
+# mysql -h${host} -u${username} -p${password} << EOF
+#  ${sql1}
+#  ${sql2}
+#  ${sql3}
+# EOF
 }
 
 init_db() {
+  docker cp ${db1}.sql mysql57:/root/${db1}.sql
+  docker cp ${db2}.sql mysql57:/root/${db2}.sql
+  docker cp ${db3}.sql mysql57:/root/${db3}.sql
+
   # 还原整个数据库结构(不包含数据)
-  mysql -h${host} -u${username} -p${password} ${db11} < ${db1}.sql
-  mysql -h${host} -u${username} -p${password} ${db21} < ${db2}.sql
-  mysql -h${host} -u${username} -p${password} ${db31} < ${db3}.sql
+  docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db11} < /root/${db1}.sql
+  docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db21} < /root/${db2}.sql
+  docker exec -i mysql57 mysql -h${host} -u${username} -p${password} ${db31} < /root/${db3}.sql
 
   # 还原表数据到数据库
 #  mysql -h${host} -u${username} -p${password} ${db11} < msg_email_account.sql

+ 3 - 8
srv/start_thirdparty.sh

@@ -62,14 +62,9 @@ sleep 60
 
 echo "set mysql account..."
 # mysql 帐号密码 test 和 Test@123456
-sql1="create user test@'%' IDENTIFIED WITH mysql_native_password BY 'Test@123456';"
-sql2="grant all privileges on *.* to test@'%' with grant option;"
-sql3="flush privileges;"
-mysql -h127.0.0.1 -uroot -pRoot@123456 << EOF
-${sql1}
-${sql2}
-${sql3}
-EOF
+docker exec -i mysql57 mysql -uroot -pRoot@123456 -e "create user test@'%' IDENTIFIED WITH mysql_native_password BY 'Test@123456';"
+docker exec -i mysql57 mysql -uroot -pRoot@123456 -e "grant all privileges on *.* to test@'%' with grant option;"
+docker exec -i mysql57 mysql -uroot -pRoot@123456 -e "flush privileges;"
 
 echo "set nacos account..."
 # 帐号密码 nacos 和 E4B2M7W8Dx