Fork me on GitHub

Linux下Mysql命令导入导出与自动备份

安装,乱码,远程访问,防火墙问题: http://www.cnblogs.com/Irving/archive/2013/04/06/3002938.html
手动备份数据库
#使用mysqldump导出数据库
    #进行数据库导入 
    mysqldump -u root -p databasename> databasename.sql 
    #如果只想导出某个表,如test 
    mysqldump -u root -p databasename test> databasename.sql 

#使用source导入数据库
    #打开数据库,root可以换成你的数据库用户名,databasename2是新建的空数据库名  
    mysql -u root -p  
    #进入数据库 
    use databasename2; 
    #导入数据库,假如导出的数据库放于home 
    source /home/databasename.sql
自动备份数据库
#在/opt目录下新建两个文件夹shell与bak_mysql
    cd /opt
    mkdir shell bak_mysql
#新建一个文件back_mysql.sh内容如下上次到shell文件夹下
    #!/bin/sh    #是告诉系统这个是一个sell脚本
    cd /var/lib  #服务器默认的mysql目录,这个目录下应该有一个mysql文件夹
    thisdate=`date +%Y%m%d` #获取今天的年月日,比如今天  20121214,并赋值给变量thisdate
    tar -zcvf /opt/back_mysql/$thisdate.testdb.tar.gz ./mysql/testdb   #这个是打包命令,打包一个压缩包名字为  20130414.testdb.tar.gz到 /opt/back_mysql这个文件夹下,其中testdb是数据库名字
#自动运行
#crontab配置文件
sudo crontab -e
#在最顶部输入代码
1 1 * * 6 /opt/shell/back_mysql.sh  #每周6早上1点1分执行一次备份

########################################################

#新建文件命名为mysqlbackup.sh
#内容如下
#!/bin/bash
DATE=`date +%Y-%m-%d_%H_%M_%S`
FILE="/opt/db_backup/testdb-$DATE.sql"
mysqldump -uroot -p123456 testDB | gzip -c -9 > $FILE.gz
echo "done"

#crontab配置文件
#crontab -e
#在最顶部输入代码
#30 13 * * * sh /opt/db_backup/mysqlbackup.sh

#######################################################

 

posted @ 2013-04-14 17:28  花儿笑弯了腰  阅读(272)  评论(0编辑  收藏  举报