Perl 脚本实现MySQL 异机导入导出
2012-09-03 16:15
375 查看
单位的开发同事需要将一个mysql 中的库导入到本地mysql中 所以为了减少手工操作,就写了下面的一个用perl 实现的 mysql 异机导入导出脚本:如下
#!/usr/bin/perl -w
#Author:andylhz
#Date:20120/08/29
#Purpose:Import database from other mysql db host to local.
my $db_host_local="localhost";
my $db_username_local="root";
my $db_password_local="password";
my $db_dbname_local="baby";
my $db_backupdir_local="/root/dbbackup/local";
if (-e $db_backupdir_local){
print "The database backup dir is $db_backupdir_local\n";
}else{
mkdir $db_backupdir_local;
}
my $db_time_local=`date +%y%m%d%H%M%S`;
#backup localhost databases
print "$db_dbname_local is backuping.....\n";
system "/usr/local/mysql/bin/mysqldump -h $db_host_local -u$db_username_local -p$db_password_local --databases $db_dbname_local >$db_backupdir_local/$db_dbname_local$db_time_local";
if ( $?==0 ){
print "Database $db_dbname_local is backup OK!\n";
}else{
print "Database $db_dbname_local is backup FALSE!\n";
exit ;
}
print "Compress the dump file\n";
system "gzip $db_backupdir_local/$db_dbname_local$db_time_local";
if ( $?==0 ){
print "Dump file is compress OK!\n";
}else{
print "Dump file is compress FALSE!\n";
exit;
}
####
#!/usr/bin/perl
%iplist=('144trunk'=>'192.168.100.144','114branch'=>'192.168.100.114','164release'=>'192.168.100.164');
@keys= keys %iplist;
@values= values %iplist;
print "$keys[0] -> $values[0] Trunk MySQL(0\n";
print "$keys[1] -> $values[1] Branch MySQL(1\n";
print "$keys[2] -> $values[2] Release MySQL(2\n";
print "Please choose the MySQL host IP which you want to import:\n";
chomp($_=<STDIN>);
if( m/0|1|2/ ){
chomp( $dbhost_remote="$values[$_]");
}else{
print "The mysql database is not found choose one from above list!\n";
exit;
}
####
#sub improt_remote_db {
# print "Please tell me which mysql db do you want to import to local:\n";
my $db_host_remote="$dbhost_remote";
my $db_username_remote="root";
my $db_password_remote="password";
my $db_dbname_remote="baby";
my $db_backupdir_remote="/root/dbbackup/remote";
if (-e $db_backupdir_remote){
print "The database export dir is $db_backupdir_remote\n";
}else{
mkdir $db_backupdir_remote;
}
my $db_time_remote=`date +%y%m%d%H%M%S`;
#backup localhost databases
print "The database $db_dbname_remote is dumping.....\n";
`/usr/local/mysql/bin/mysqldump -h $db_host_remote -u$db_username_remote -p$db_password_remote --databases $db_dbname_remote >$db_backupdir_remote/$db_dbname_remote$db_time_remote`;
if ( $?==0 ){
print "Database $db_dbname_remote is export OK!\n";
}else{
print "Database $db_dbname_remote is export FALSE!\n";
exit;
}
print "Import $db_host_remote mysql $db_dbname_remote begin.....\n";
system "/usr/local/mysql/bin/mysql -u$db_username_local -p$db_password_local $db_dbname_local < $db_backupdir_remote/$db_dbname_remote$db_time_remote";
if ( $?==0 ){
print "Database $db_dbname_remote is import OK!\n";
}else{
print "Database $db_dbname_remote is import FALSE!\n";
exit;
}
#}
####
unlink "$db_backupdir_remote/*";
print "Import $db_host_remote mysql $db_dbname_remote is OK\n";
#END本文出自 “影子骑士” 博客,请务必保留此出处http://andylhz2009.blog.51cto.com/728703/980818
#!/usr/bin/perl -w
#Author:andylhz
#Date:20120/08/29
#Purpose:Import database from other mysql db host to local.
my $db_host_local="localhost";
my $db_username_local="root";
my $db_password_local="password";
my $db_dbname_local="baby";
my $db_backupdir_local="/root/dbbackup/local";
if (-e $db_backupdir_local){
print "The database backup dir is $db_backupdir_local\n";
}else{
mkdir $db_backupdir_local;
}
my $db_time_local=`date +%y%m%d%H%M%S`;
#backup localhost databases
print "$db_dbname_local is backuping.....\n";
system "/usr/local/mysql/bin/mysqldump -h $db_host_local -u$db_username_local -p$db_password_local --databases $db_dbname_local >$db_backupdir_local/$db_dbname_local$db_time_local";
if ( $?==0 ){
print "Database $db_dbname_local is backup OK!\n";
}else{
print "Database $db_dbname_local is backup FALSE!\n";
exit ;
}
print "Compress the dump file\n";
system "gzip $db_backupdir_local/$db_dbname_local$db_time_local";
if ( $?==0 ){
print "Dump file is compress OK!\n";
}else{
print "Dump file is compress FALSE!\n";
exit;
}
####
#!/usr/bin/perl
%iplist=('144trunk'=>'192.168.100.144','114branch'=>'192.168.100.114','164release'=>'192.168.100.164');
@keys= keys %iplist;
@values= values %iplist;
print "$keys[0] -> $values[0] Trunk MySQL(0\n";
print "$keys[1] -> $values[1] Branch MySQL(1\n";
print "$keys[2] -> $values[2] Release MySQL(2\n";
print "Please choose the MySQL host IP which you want to import:\n";
chomp($_=<STDIN>);
if( m/0|1|2/ ){
chomp( $dbhost_remote="$values[$_]");
}else{
print "The mysql database is not found choose one from above list!\n";
exit;
}
####
#sub improt_remote_db {
# print "Please tell me which mysql db do you want to import to local:\n";
my $db_host_remote="$dbhost_remote";
my $db_username_remote="root";
my $db_password_remote="password";
my $db_dbname_remote="baby";
my $db_backupdir_remote="/root/dbbackup/remote";
if (-e $db_backupdir_remote){
print "The database export dir is $db_backupdir_remote\n";
}else{
mkdir $db_backupdir_remote;
}
my $db_time_remote=`date +%y%m%d%H%M%S`;
#backup localhost databases
print "The database $db_dbname_remote is dumping.....\n";
`/usr/local/mysql/bin/mysqldump -h $db_host_remote -u$db_username_remote -p$db_password_remote --databases $db_dbname_remote >$db_backupdir_remote/$db_dbname_remote$db_time_remote`;
if ( $?==0 ){
print "Database $db_dbname_remote is export OK!\n";
}else{
print "Database $db_dbname_remote is export FALSE!\n";
exit;
}
print "Import $db_host_remote mysql $db_dbname_remote begin.....\n";
system "/usr/local/mysql/bin/mysql -u$db_username_local -p$db_password_local $db_dbname_local < $db_backupdir_remote/$db_dbname_remote$db_time_remote";
if ( $?==0 ){
print "Database $db_dbname_remote is import OK!\n";
}else{
print "Database $db_dbname_remote is import FALSE!\n";
exit;
}
#}
####
unlink "$db_backupdir_remote/*";
print "Import $db_host_remote mysql $db_dbname_remote is OK\n";
#END本文出自 “影子骑士” 博客,请务必保留此出处http://andylhz2009.blog.51cto.com/728703/980818
相关文章推荐
- oracle数据库导出导入--perl脚本实现
- 使用DBI(perl)实现文本文件的导入导出mysql
- 使用DBI(perl) 实现文本文件导入导出mysql
- Java实现Mysql数据导入导出
- mysql-导入导出sql脚本文件
- mysql load data 与 select into outfile 配合实现文本文件导入导出
- 通过sqoop 实现hdfs与mysql的数据导入导出
- MySql导入导出sql脚本
- MySQL导入sql脚本 导出数据库
- mysql 导入导出sql脚本
- 导入、导出 MySQL脚本
- MySQL导入sql脚本 导出数据库
- Mysql导出SQL脚本和导入SQL脚本
- Mysql导入导出sql脚本
- Mysql 数据库命令行导出导入sql脚本
- MySQL导入导出大量数据的程序实现方法
- MYSQL 数据库导入导出的实现
- MySQL导入和导出sql脚本
- java实现excel与mysql的导入导出
- MySQL导出和导入SQL脚本