数据库同一个版本的倒容易,如果不同版本的,那是只能导出数据,然后再导入数据到另外一个数据库。

主要的是有几个步骤:

1 导出sql文件
2 打包文件并发送到另外一个机器
3 解压文件
4 导入sql文件

主要包含:

sh的数组和循环、mysql的导入导出命令行、服务器间文件传输

比如A服务器上要导出数据可以用如下脚本:

export_db.sh

#!/bin/sh

echo "exporting data,wait..."

database=("aslibra" "work" "mysql")
len=${#database[*]}
socket=/Data/app_1/mysql.sock

i=0
while    [ $i -lt $len ]
do
    echo "export db: ${database[$i]}"
    mysqldump -uroot -pwww.aslibra.com --socket=$socket -l -f --default-character-set=utf8 ${database[$i]}> /Data/bak/aslibra/${database[$i]}.sql
    let i++
done

echo "tar files"
cd /Data/bak
tar cvfz aslibra.tgz aslibra

echo "send files"
scp aslibra.tgz root@www.aslibra.com:/Data/backup/aslibra


这里设置了一个数组database,导出相应的数据库

在另外一个机器上:

import.sh

#!/bin/sh

cd /Data/backup/aslibra

echo "extra files"
tar xvfz aslibra.tgz

echo "importing data,wait..."

database=("aslibra" "work")
len=${#database[*]}
socket=/Data/app_9306/mysql.sock

i=0
while    [ $i -lt $len ]
do
    echo "import db: ${database[$i]}"
    mysql -u root -pwww.aslibra.com --socket=$socket --default-character-set=utf8 ${database[$i]} < /Data/backup/aslibra/aslibra/${database[$i]}.sql
    let i++
done


可以选择导入mysql的库,这样用户权限也导入了,另外,要导入的库需要先建立。


原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
Tags: ,
发表评论
AD
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML 打开UBB 打开表情 隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

 

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐