吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1778|回复: 18
收起左侧

[求助] 求助各位大佬,Mysql如何用命令复制转移视图。

[复制链接]
12195525Tom 发表于 2020-5-26 10:02
我写了一个脚本。可以复制数据库中每一个表转移到另一个数据库。可是总是有几个表转移不了。后来通过研发部的前辈我了解到,没办法转移的是视图。请问用什么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
求助各位大佬!!!!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 12195525Tom 发表于 2020-5-26 10:03
求助大佬教导。同样求助各位给mysql资源资料有关数据库即可。
WBSL 发表于 2020-5-26 10:11
梓沐 发表于 2020-5-26 10:22
视图是基于表创建的,你可以分2步,先把所有的表创建完,再去创建视图
致远英才 发表于 2020-5-26 10:25
过来学习了!
 楼主| 12195525Tom 发表于 2020-5-26 10:39
梓沐 发表于 2020-5-26 10:22
视图是基于表创建的,你可以分2步,先把所有的表创建完,再去创建视图

谢谢您的指导,但是我不是学数据库的。我只是写脚本的,懂一些命令和shelli脚本。怎么创建视图我也不懂。表都可以转移到新库但是视图怎末转移过去。
 楼主| 12195525Tom 发表于 2020-5-26 10:52
求助大佬。d=====( ̄▽ ̄*)b
zbr878458173 发表于 2020-5-26 11:20
视图 其实就是一些sql语句的封装 .你没学过数据库的话 感觉不太好理解...  你想要mysql资源还是Oracle资源 ?我应该都有存
 楼主| 12195525Tom 发表于 2020-5-26 11:23
zbr878458173 发表于 2020-5-26 11:20
视图 其实就是一些sql语句的封装 .你没学过数据库的话 感觉不太好理解...  你想要mysql资源还是Oracle资源  ...

我要的是mysql的。当然你多给我些我也不介意!(*^_^*)
zbr878458173 发表于 2020-5-26 11:25
12195525Tom 发表于 2020-5-26 11:23
我要的是mysql的。当然你多给我些我也不介意!(*^_^*)

https://pan.baidu.com/s/15ocrWsdcODC8kA1VCkMaXQ
提取码:57vp
第一个 基础里面
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 15:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表