在mysql数据库对于数据库的备份与恢复我们会使用到mysqldump,source或者insert into命令了,下面小编来给各位同学整理一下,希望例子对给各位朋友带来帮助.
今天想导出部分数据找了半天终于找到对应的几个方法,首先看下字符集,省的导出的时候是乱码.
1.用命令,代码如下:
mysql> SHOW VARIABLES LIKE "character_set%";
根据对应的字符集value决定采用导出字符latin1 还是utf8.
2.采用 –where的方式导出,代码如下:
mysqldump -uroot -p123456 --default-character-set=latin1 i5a6 i5a6_data --where=" id < 100" > bki5a6.sql
3.采用创建新表结构和原来表相同复制部分数据的形式再全部导出新表数据即可,代码如下:
INSERT INTO Table2(field1,field2,...) SELECT value1,value2,... FROM Table1
涉及更多mysql备份导入导出说明,二进制导出等.
1.导出整个数据库(–hex-blob 为有blob数据做的,防止乱码和导入失败用),代码如下:
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p --default-character-set=gbk --hex-blob i5a6 > i5a6.sql
2.导出一个表,代码如下:
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p i5a6 users> i5a6.sql
3.导出一个数据库结构,代码如下:
mysqldump -u root -p -d --add-drop-table i5a6 >d:/i5a6.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令,进入mysql数据库控制台,如mysql -u root -p
mysql>use 数据库,然后使用source命令,后面参数为脚本文件(如这里用到的.sql),代码如下:
mysql>source d:/i5a6.sql
另附录一份备份的shell脚本(backup.sh),代码如下:
- date_str=`date +%Y%m%d`
- cd /data2/backup
- mysqldump -h localhost -u root --password=xxxxx -R -e \
- --max_allowed_packet=1048576 --net_buffer_length=16384 i5a6\
- | gzip > /data2/backup/i5a6_$date_str.sql.gz
-
完毕,感觉采用mysqldump导出的时候更省事,流着以后用的时候好直接翻阅. |