Я хочу создать скрипт, который копирует все таблицы в базе данных в другую базу данных.
Очевидно, я нашел это быстрее, чем dump & restore с помощью mysqldump.
Сценарий ниже работает нормально, но таблицы копируются по порядку. (только один идентификатор процесса)
Чтобы работать быстрее, я хочу, чтобы все таблицы копировались одновременно.
Справка.
#!/bin/bash
HOSTNAME='127.0.0.1'
QUERY1="select concat('create table ', ' $1','.',table_name , ' like ' , '$2','.',table_name,';') as '' from information_schema.tables where table_schema = '$2'"
QUERY2="select concat('insert into ', ' $1','.',table_name , ' select * from ' , '$2','.',table_name, ';') as '' from information_schema.tables where table_schema = '$2'"
Q1=`mysql -uaccount -ppass -h$HOSTNAME -e "$QUERY1"`
Q11=`mysql -uaccount -ppass -h$HOSTNAME -e "$QUERY2"`
C1=`mysql -uaccount-ppass -h$HOSTNAME -e "CREATE DATABASE $1"`
Q2=`mysql --default-character-set=utf8 -v -t -uaccount-ppass -h$HOSTNAME -e "$Q1"`
Q22=`mysql --default-character-set=utf8 -v -t -uaccount-ppass -h$HOSTNAME -e "$Q11"`
sh тест. sh newdb_01 olddb_01