Chinaunix首页 | 论坛 | 博客
  • 博客访问: 217704
  • 博文数量: 39
  • 博客积分: 891
  • 博客等级: 准尉
  • 技术积分: 452
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-08 18:24
文章分类

全部博文(39)

文章存档

2012年(11)

2011年(28)

我的朋友

分类: Mysql/postgreSQL

2011-11-16 09:39:56

   我们小组有一个wiki,在两天在做wiki的数据库备份恢复工作,也让自己对mysql的使用稍微好了些.不得不说mysql的docs写的是会意体.感觉还是命令后加--help 帮助更大. 
   这里用的是逻辑备份,就是导出sql语句,物理备份暂时没有研究.两条指令 mysqldump 和mysqlimport.字面意思就是mysql导出导入.
   遇到的第一个问题,就是密码的事情,要使用-p参数,而且密码要么紧跟着 -p 要么-p留空, 我要写在脚本里的用crontab备份,密码的加密就是一个问题.现在还没有解决.可以使用expect ? 我还没搞定这个问题.
   第二个问题,是在恢复导入的时候,居然无法创建表,而我用的是导出的创建表语句.令人伤心.报的错误是
  1. ERROR 1064 at line 353: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'from varchar(15) NOT NULL default '
原来是表里面的列名有问题,叫做from,问题迎刃而解,修改这个列吧.(我更想知道,这个列是怎么创建上去的),
后来备份是搞定了.最终的备份脚本是这样的:
  1. DATE=`date +%Y%m%d%H`
  2. mysqldump -h xxxxxx -uroot -pssssss wiki --opt --no-data --default-character-set=latin1 > $DATE.no_data.sql
  3. mysqldump -h xxxxxx -uroot -psssssss wiki --opt --no-create-info --default-character-set=latin1 >$DATE.data.sql

“--opt” 参数,就相当于同时加上了如下参数:

--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick

指定字符集

--default-character-set=gbk

通常选择 gbk、utf8 或 latin1

逻辑恢复问题.

 




阅读(2443) | 评论(3) | 转发(1) |
给主人留下些什么吧!~~

doita2011-11-20 21:51:14

☆彼岸★花开: 哈哈,LZ有前途,加油!.....
非常感谢,大家一同进步。

☆彼岸★花开2011-11-19 19:53:56

哈哈,LZ有前途,加油!

doita2011-11-16 18:12:28

还没有写完,暂时,仅仅是逻辑备份. 在恢复的时候出现问题了,没敢写出来