mysql命令怎么导入视图_求助各位大佬,Mysql如何用命令复制转移视图。

我写了一个脚本。可以复制数据库中每一个表转移到另一个数据库。可是总是有几个表转移不了。后来通过研发部的前辈我了解到,没办法转移的是视图。请问用什么sql语句可以将视图转移到另一个数据库。或者有什么可以整库复制转移(我试了很多网上的方法都行不通)。另外我们的是mysql数据库docker容器

my.cnf配置如下

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

back_log=500

wait_timeout=1800

max_connections=1000

max_user_connections=800

default-storage-engine= InnoDB

key_buffer_size=384M

innodb_buffer_pool_size=1024M

init-connect='SET NAMES utf8'

character-set-server = utf8

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

lower_case_table_names=1

collation-server = utf8_unicode_ci

interactive_timeout=7200

max_allowed_packet = 20M

log_timestamps=SYSTEM

log-bin=/var/lib/mysql/mysql-bin

server-id=123454

binlog-format=ROW

脚本如下

#!/bin/bash

#time=`date +%F`

bak=_baka

read -p "请输入要备份的数据库" name

iname=$name$bak

#dd=`docker exec -i mysql mysql -uroot -proot -e "select table_name from information_schema.tables where table_schema='$name';"|grep -Evi "table_name"`

dd=`docker exec -i mysql mysql -uroot -proot -e "use gdxl;show tables" | grep -v "Tables_in_gdxl"`

docker exec -i mysql mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS $iname"

for i in $dd

do

#echo $i

#echo "$iname"

docker exec -i mysql mysql -uroot -proot -e "CREATE TABLE $iname.$i LIKE $name.$i;"

docker exec -i mysql mysql -uroot -proot -e "INSERT INTO $iname.$i SELECT * FROM $name.$i;"

if [ $? -eq 0 ];then

echo "$i=ok"

else

echo "$i=no" >> /root/shuju

fi

done

求助各位大佬!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值