mysql的备份和还原的编码问题解决
今天需要从远程服务器down一个uchome的数据库下来,在本地还原。
发现一个很不爽的事情:远程8G,N核的linux机器,备份还原操作顺溜溜的,可是在本地的windows,2G普通PC上,才100M的文件,用uchome自带的分卷备份还原,基本上中间都会断掉,要么提示“执行时间过长”(改成200秒,分卷为20M都不行),要么就是中途白屏。
得了,用mysqldump备份的一个独立文件来运行命令行还原吧。
首先运行还原语句:
mysql -uroot -p123456 mydatabase < d:\backupdatabase.sql
时间缓慢地逝去,一口水喝完,上个厕所,再溜达一下,终于完成了(在远程linux服务器上也就20秒的功夫!)
然后更新缓存,发现数据乱码了,咦,我备份的时候是强制的gbk编码啊!看看备份的语句:
mysqldump -uroot -p123456 –default-character-set=gbk mydatabase > /usr/local/mysql/backup/backup20091026.sql
没错啊!已经设置了默认字符集为gbk了,看来可能是在还原的时候也要设置吧,于是修改还原语句,手工指定字符编码
mysql -uroot -p123456 font –default-character-set=gbk mydatabase < d:\backupdatabase.sql
又是漫长的等待…刷新页面一看,现在乱码解决了。
总结:在不同的操作系统和数据库环境之间备份与还原时,还是两边都强制制定一个字符集最保险。
相关文档:
最大的物品号是什么?
SELECT MAX(article) AS article from shop;
任务:找出最贵物品的编号、销售商和价格。
这很容易用一个子查询做到:
SELECT article, dealer, price
from shop
WHERE price=(SELECT MAX(price) from shop);
另一个解决方案是按价格降序排序所有行并用MySQL特定LIMIT子句只 ......
Mysql在默认情况下建立表的字符编码是latin1,所以在插入中文时会出错。
eg:
1、查看表建立的sql源码:
1: sql命令:show create table users
2:
3: 结果:
4: CREATE TABLE `users` (
5: `userID` int(10) unsigned NOT NULL AUTO_INCREMENT,
6: `userName` varchar(4 ......
1.从http://prdownloads.sourceforge.net/mysqldrivercs/MySQLDriverCS-n-EasyQueryTools-3.0.18.exe?download上下载MySQLDriverCS.
2.把MySQLDriverCS.dll.添加到.net的组件
3.使用方法
下面是创建一个数据库链接:
下面是创建一个数据库链接:
using MySQLDriverCS;
MySQLConnection conn ......
一、连接MYSQL。
格式: mysql –h主机地址 –u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: ......