当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 再谈 MySQL 数据库备份恢复和乱码问题

MYSQL
轻松接触MaxDB和MySQL之间的协同性
快速解决 MySQL中与浮点比较有关的问题
细化解析:Mysql数据库对文件操作的封装
在MySQL数据库中如何修改密码及访问限制
带你深入了解MySQL语句优化的基本原则
详细讲解如何为MySQL数据库添加新函数
如何解决MySQL的客户端不支持鉴定协议
教你快速掌握更改表中列顺序的好方法
解决MySQL 5.0不能使用自动增加字段问题
讲解MySQL数据库字符集出错的解决方法
如何实现My SQL中的用户的管理问题
教你快速掌握 MySQL数据库中触发器的应用
将数据从MySQL迁移到 Oracle的注意事项
正确认识MySQL对服务器端光标的限制
MySQL的存储过程写法和"Cursor"的使用
怎样才能解决MySQL 5.0.16的乱码问题
MySQL存储过程SAVEPOINT ROLLBACK to
提高MySQL数据库查询效率的三个实用技巧
在MySQL数据库中如何来复位根用户的密码
带你轻松接触MaxDB和MySQL之间的协同性

MYSQL 中的 再谈 MySQL 数据库备份恢复和乱码问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 106 ::
收藏到网摘: n/a

在我转到wordpress之后第一个考虑的是它的数据库备份恢复问题,因为写bloger都知道,自己的blog记录的都是自己需要的宝贵的资料和文字,如果因为各种未知因素导致数据库崩溃或者空间商出了问题,丢失了数据的话,无疑是一种非常巨大的痛苦和损失。

所以在我blog里面有好几篇资料文章或者自己心得文章来讨论mysql数据库备份恢复和乱码问题。

之前那些文章讨论结果已经暂时能满足我数据库备份和恢复问题了,但是始终有个让我不能完全安心的地方,那就是用PMA恢复的时候,使用的是上传机制,那么PHP默认是最大上传2M,如果我blog再写下去,写了几年,备份下来的数据超过2M,我该怎么办?

今天下午晒着太阳的时候又想到这个问题,但突然想起来备份的时候不是可以选择备份那个表嘛?呵呵,“大智若愚”,其实数据量大,我完全可以一个个表保存,然后一个个表恢复,这样相当于把一个压缩包分成几份,这样每份的体积就减少了。呵呵,心里又舒坦了些。但是问题又来了,wp的日志都是放在wp_posts表里面,就算其他的比如options、comments等表再大也只是一小部分,如果posts表数据超过2M了呢?

不知道我是不是杞人忧天,2M的gzip文件可以保存N多日志了。不过俗话说的好,居安思危,思则有备,有备无患!然后我再想,如过我不要保存为gzip格式,我就保存SQL语句的txt文件,然后我恢复的时候麻烦点,手动复制粘贴SQL代码,虽然比较麻烦点,但是恢复起来是没啥问题的。呵呵。想到这里又舒坦了点。至少已经有了可以完全不用担心数据库变大之后的备份恢复问题了。:0

其实我想如果我专心去研究,去写代码,完全可以自己写一个wp数据库备份恢复的程序,可惜的是,我用wp本身就是想偷懒,用它庞大的资源来给自己便利,因为工作太忙,如果在这上面花去时间开发的话,我想我工作方面就不能全身心投入了。。。

当然,除非是我blog写的时间太长了,数据量太大,而且都是宝贵的资料,我想再这种需求下面,我该会自己写个完善的wp数据库备份恢复的程序了。

最后补充一下mysql数据库乱码问题的解决方法,资料来自wp的一个qq群的一个网友:

终于解决了wordpress中文乱码问题

参考了很多人的方法,最后再确认了一下.总结如下:

1、Mysql处理

(1)配置文件处理

删除My.ini中的 default-character-set=latin1

(有的人喜欢改成 default-character-set=utf8,也行,我干脆删除了,只要注意下面2中的“整理”就ok啦!)

(2)PhpMyadmin处理

设置如下:

1: 语言设置为 chinese (zh-utf-8)

2: MySQL 字符集: UTF-8 Unicode(utf8)

3: MySQL 连接校对: utf8generalci

4: 新增数据库和数据表的时候,整理项选择 utf8generalci

2、Wordpress处理

在$this->dbh = @mysqlconnect($dbhost, $dbuser, $dbpassword);

下,增加一句

$this->query(”set names ‘utf8’”);

即如下(只有加了这句,发贴后,中文字才是正常的!):

$this->dbh = @mysqlconnect($dbhost, $dbuser, $dbpassword);

$this->query(”set names ‘utf8’”);