ラベル MySQL Shell の投稿を表示しています。 すべての投稿を表示
ラベル MySQL Shell の投稿を表示しています。 すべての投稿を表示

2021年1月10日日曜日

Postgress(copyクエリ利用)

 以下、クエリになる。

---------------------------------------------------------------------

#!/bin/bash


DBNAME="dvdrental" # 接続するデータベース名

HOST="database-pg1.cksctvztkm5v.ap-northeast-1.rds.amazonaws.com"

tables=("actor")

day=$(date "+%m%d%Y%H%M")


# postgresqlでcopy出力

psql -U postgres -h $HOST -d $DBNAME -c "\COPY (select * from $tables where last_update::date = date 'now') TO '/tmp/$day"_""$tables".csv' WITH CSV DELIMITER ','"

----------------------------------------------------------------------



参照先:

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html


2020年5月19日火曜日

DBの複製・DBのCreateを行うShell

参照先:


DB(soe_admin)というDBを複数して、複数のDBにインポートするshellです。


イメージ:
[RDS:1] 
①DBをdumpする
②soe_admin > clients に必要な情報を書き込む

[RDS:2] 
①DBのインポートを行う。


1以下のshellを作成する
=============================
#!/bin/bash


#Dump only
HOSTNAME="127.0.0.1"
PORT="3306"
USERNAME="root"
PASSWORD="pass"
dump_db="soe_testcase001"

#Import only
HOSTNAME2="127.0.0.1"
PORT2="3306"
USERNAME2="root"
PASSWORD2="pass"

#Table Write only
MYSQL_SCHEMA="soe_admin"
VALUE=`echo ${QUERY} | ${CMD_MYSQL}`
CMD_MYSQL="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} --show-warnings $MYSQL_SCHEMA"

mysqldump -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} soe_testcase001 > soe_dump.sql


for i in `cat ./test.txt`
do
  cp soe_dump.sql $i
  create="create database if not exists $i;"  
  mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${create}"
  mysql -h${HOSTNAME2} -P${PORT2} -u${USERNAME2} -p${PASSWORD2} $i < $i
  ${CMD_MYSQL} <<EOF
  INSERT INTO clients (client_cd, resq_client_cd, client_dbname, db_type, description, dropped_flag, created_datetime, modified_datetime, deleted_flag, dbhost) VALUES ("$i", " ", "$i", " ", " ", " ", " ", " ", " ", "$HOSTNAME")
EOF
done

================================


2)for文には、test.txtというファイルを見て、実行してくれる

2)test.txtというファイルを作成して、新規DBリストを記載するので
必要な分だけDB名を書き込んでおくこと!

例:

MySQL テーブル追記(for Shell)

参照先:
https://qiita.com/CyberMergina/items/f889519e6be19c46f5f4


#!/bin/bash

HOSTNAME="127.0.0.1"
PORT="3306"
USERNAME="root"
PASSWORD="pass"

MYSQL_SCHEMA="soe_admin"
CMD_MYSQL="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} --show-warnings $MYSQL_SCHEMA"

#QUERY="SELECT client_cd FROM clients"
VALUE=`echo ${QUERY} | ${CMD_MYSQL}`


${CMD_MYSQL} <<EOF
INSERT INTO clients (client_cd, resq_client_cd, client_dbname, db_type, description, dropped_flag, created_datetime, modified_datetime, deleted_flag, dbhost) VALUES ("test1", " ", "soe_test", " ", " ", " ", " ", " ", " ", "192.168.1.1")
EOF

【AI×GitOps】Docker Composeから始めるRaspberry Pi 5 Kubernetesクラスタへの自動デプロイ設計

現在構築を進めている動画管理システム開発において、いきなりKubernetes(K8s)に展開するのではなく、 Docker Composeを中間地点に挟んで段階的にK8s+Argo CD(GitOps)へ移行するアーキテクチャ設計 をまとめました。 Bionic(AIアシスタン...