本周六在服务器上的操作

时间: 2008-05-19 / 分类: 技术相关 / 浏览次数: 673 views / 0个评论 发表评论

[文章作者:叶歆昊   最后修改:2010-07-18   转载请注明原文链接:http://littz.com/server-operation-saturday.html]

一、尝试升级MySQL服务器

当前学生之家服务器使用的数据库为MySQL 4.0,尝试升级到5.1版本,从4.1版本开始,MySQL就支持不同的字符集,而不再是以前只支持Latin1的,所以新版本在解决中文编码问题上很有效果。

过程:

1、备份

2008-05-17 19:30,备份现有数据库文件。使用mysqldump,phpmyadmin导出SQL数据表,并直接复制一个MySQL文件夹,多次备份,并且数据库程序部分和数据库数据部分同时备份,以便升级不成功时恢复。

mysqldump备份方法

mysqldump -uyour_name -pyour_password abc>E:\bak\oldabc.sql

以上适用于MySQL4.0的备份,如果是4.1以上版本,则需加入 default-character-set=gbk 这个参数

phpmyadmin的备份方法,直接导出就可以。

2、数据库程序升级

使用cd命令进入原来的mysql bin文件夹,并卸载原服务,例如

cd \mysql\bin\
mysqld-nt -remove

并删除原目录下的所有文件

下载新版mysql的zip压缩包,解压覆盖原位置安装

mysqld-nt -install

至此MySQL5.1版本已经安装完成,添加到系统服务中,可以在服务中尝试启动MySQL

net start mysql

注:我在安装的过程中由于移动了文件夹位置,所以安装完成后启动MySQL服务时提示1067错误,解决办法如下,找到C:\Windows\my.ini文件,修改它(如果不存在这个文件则用记事本新建一个)

[mysqld]
# set basedir to installation path, e.g., c:/mysql
# 设置为MYSQL的安装目录
basedir=D:/www/WebServer/MySQL
# set datadir to location of data directory,
# e.g., c:/mysql/data or d:/mydata/data
# 设置为MYSQL的数据目录
datadir=D:/www/WebServer/MySQL/data
#另外,要主意
[WinMySQLadmin]
Server=D:/www/WebServer/MySQL/bin/mysqld-nt.exe
user=root
password=xxxxxxxx
#以上是设置WinMySQLadmin的配置
[Client]
user=root
password=xxxxxxxx

1067错误解决

3、数据恢复,由于在数据库升级的过程中同时更改MySQL的字符集,所以无法使用自动升级方式,只有先备份数据文件,再升级恢复。

拷贝phpmyadmin或者mysqldump得到的sql到有Linux系统的电脑中。运行如下命令把sql文件编码方式转码

iconv -f gbk -t utf-8 -c old.sql>new.sql

修改sql文件为mysql5.1格式,使用linux下gedit或者其他文本编辑器查找替换

若sql文件中存在creat database指令,则在后面加上 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

把所有的TYPE=MyISAM 替换为 ENGINE=MyISAM DEFAULT CHARSET=utf8

创建相关的数据库名(若导出的sql文件中存在creat database指令则不需要手动创建数据库)

mysql -uyour_name -pyour_password

CREATE DATABASE `abc` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

数据库导入

mysql --default-character-set=utf8 -uyour_name -pyour_password abc

到此为止,MySQL数据库升级完毕,并且在mysql命令行和phpmyadmin下查看数据文件正常,utf8_unicode_ci整理。

不过可能由于学生之家JAVA程序的问题,升级数据后导致JSP页面一直无法连接上数据库,访问提示javanullpoint错误。但是如果新建一个test.jsp测试数据库连接则能正常显示。

2008-05-17 22:40,折腾几个小时后,宣布升级失败,恢复数据库版本到4.0,所有更改全部撤销,改日再尝试。

发表评论

您的昵称 *

您的邮箱 * (绝对保密)

您的网站