MySQL数据库备份恢复及中文乱码问题

时间:2022-03-21 11:26:11
MySQL数据库备份恢复及中文乱码问题

1.数据库备份/恢复:

用phpMyAdmin将数据库现在压缩格式(gzip 压缩)保存到本地,如果数据库量大,建议将表分开,分多个文件备份,据本人实践,如果数据库量大,在恢复时会发生执行错误,所以数据库量越大,分的文件越多越好。


2.中文乱码问题:

一是数据导入。需要设置数据库的collation (校勘),如果你的数据库是utf-8的,设置为utf8_general_ci就可以了。

二是,即使正确导入了,在phpMyAdmin里也能正确显示,页面上显示的中文都是“???”。从MySQL 4.1开始引入的多语言支持,解决方法是在发送查询前执行一下下面这句:SET NAMES ‘utf8′;

$ sql = "SET NAMES gb2312";
$ result = mysql_query($ sql, $ connPIP);


三、如果还有乱码,那说明数据库在创建的时候不是用的UTF-8编码,本人有过一次经验,数据库是gb2312编码,恢复的时候选择utf-8,结果不管前面的方法怎么试都没有用,后来恢复的时候选择gb2312编码,然后打开页面一切OK。


3.建议:
创建数据库均用utf-8编码,这样可以省好多麻烦。


最近本人发现了一款好的MySQL数据库备份与恢复软件:MySQL Administrator (亲测 非常好用,之前一直用navicat 备份恢复,乱码问题严重)
它非常的好用,而且免费,可以一次性备份与恢复MYSQL数据库,且无乱码问题,特向广大朋友推荐,本人测试10万条数据,大概20M左右,均无问题。

注:如果是用的虚拟主机,MYSQL必须开启远程登陆才行