您的位置:首页 > 数据库 > MySQL

mysql数据库的备份和恢复

2011-06-18 16:12 633 查看
利用了mysql自带的工具,效率高,也不怕文件过大。

先说备份

mysqldump -u数据库用户名 -p密码 dbname > 备份路径/导出名.sql

就是把dbname数据库,导出到 备份路径/导出名.sql

恢复

mysql -u数据库用户名 -p密码 dbname < 备份路径/数据库名.sql

mysql命令说完了,下面该shell了,用shell来实现mysql的自动备份。

建立shell

mysqlback.sh 内容如下:

#!/bin/bash

X=`date +%Y%m%d` ;获取当天时间,命名用

M=/usr/local/mysql/bin ;mysql程序的路径

B= /usr/back/mysql ;mysql备份的路径

$M/mysqldump -uroot -proot test > $B/$X.sql

tar -zcvf $B/$X.tar.gz $B/$X.sql

rm -rf $B/$X.sql

tar 打包压缩后,rm 删除原sql文件

然后添加到计划任务,每天3点05分自动执行:

#echo "05 3 * * * root /usr/back/shell/mysqlback.sh &>/dev/null" >> /etc/crontab

------------------------

如果恢复数据的话,可以用source命令。

mysql> CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci;

mysql> use my_db;

mysql>source backupfilename;

mysql>create table my_table (name varchar(20) not null default '')type=myisam default charset utf8;

--------------------

mysql>select * from co_userdata into outfile "/home/huangjiaqiao/co_userdata.txt"

mysql>load data local infile “C://co_userdata.txt” into table co_userdata;

mysql>load data local infile "/home/huangjiaqiao/co_userdata.txt" into table co_userdata;

mysql>load data local infile 'e:/keywordsFilter.txt'into table t_sens(name);

--------------

导出csv

/usr/local/mysql/bin/mysqldump -t -T /tmp --fields-terminated-by=, -h192.168.1.x -uadmin -p'xxx' hash_ziper t_rank_song

load data infile '/data/www/kugoupic-utf8.txt' into table kguser fields terminated by ',';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: