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

MYSQL
Windows 2003搭建Apache PHP MySQL环境经验分享
PHP环境配置IIS5.0+PHP5.23+MYSQL5+phpMyAdmin
详解用phpmyadmin建立MYSQL数据库的过程
几条常见的数据库分页 SQL 语句
将MySQL数据导入到Sql Server中
解决MySQL数据库中文模糊检索问题
MySQL索引分析和优化
提高MySQL查询效率的三个有效的尝试
MySQL查询不含周末的五天前的日期
连接MySQL数据库失败频繁的原因分析
SQL Server和MySQL的安全性分析
Linux搭建Discuz论坛的方法
如何保护MySQL中的重要数据
怎样把你的 MySQL 完全中文化
FreeBSD 6.2快速架设网站服务器教程
Oracle限制返回结果集的大小
MySQL中与浮点比较有关问题的解决
distinct在mysql中查询多条不重复记录值的解决办法
全面提升Linux服务器的安全
不能通过mysql.sock连接MySQL问题的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 148 ::
收藏到网摘: 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’”);