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