Windows下升级mysql问题

出于历史原因,今天看到停运一段时间的云服务器还有半年有效时间,上面跑着的MySQL连上去也是各种报错,但总的来说还是不影响测试时的使用。但在做实验时发现数据库无法支持 utf8mb4,因此要动手把它给升级了。

旧库版本 6.0,但MySQL官网最新版也才5.7,一开始以为是以前维护者下载了源码改版本后编译,在打开我自己用于记录数据库相关信息的记事本时,无意间看到以前配置过的 MySQL NDB 版截图,原来NDB就是6.x,与普通MySQL的5.x有相对应的关系。

1、数据导出,虽然它的数据可能已经不再有用,但出于运维安全的习惯,还是要做一次备份。导出的数据文件达 1.2G。

> mysqldump -h127.0.0.1 -uroot -p --all-databases > data.sql

2、停服务,MySQL在安装时已注册为windows服务,直接点击停止服务即可

3、卸载旧版MySQL,在添加删除程序中删除即可。

4、在官网下载最新安装程序,并安装之。

5、导入原数据

> mysql -h127.0.0.1 -uroot -p < data.sql

# 问题来了,导入时报错『 Unknown command ‘\n‘ 』,这数据才刚出炉不到半小时,版本虽然旧点但相差也不大,使用UtralEdit打开看不出有什么异常,思来想去,应该是字符集问题。查了下原来的表格,使用UTF8,加个参数试试,搞定!

> mysql -h127.0.0.1 -uroot -p --default-character-set=utf8 < data.sql

6、创建新用户

* 使用MySQL官网自带的GUI客户端连接,在创建新用户时提示

Unhandled exception: DbMySQLQuery.resultFieldStringValueByName():

MySQL_ResultSet::isNull: invalid value of ‘columnLabel‘

* 使用GUI不行,那我换命令行试试,创建过程可以,心里正小庆幸时,flush privileges 报错了

Flush Privileges in My SQL gives HY0000 Unknown Error

* 真是坑中坑,问题一个接一个,查了很多MySQL官方论坛对这个问题的解释,基本上都是建议恢复到原来的NDB版本,直到该问题被解决。拜托,我就是为了升级才换过来的,让我又回去,这不是瞎折腾嘛。

试着升级,MySQL中带有mysql_upgrade命令,官网对该命令有解释,检查并升级表。

> mysql_upgrade -h127.0.0.1 -uroot -p

出现很多个OK,中间还有一个很明显的修复操作,显示『Re-installing the sys schema』,再试用GUI,完成,各种操作都正常。

结论:对于开源软件数据库,如果没有精力应付时,尽量选择常规发布版,上了线再更换的机率更是微乎其微,能不动则不动。其它新鲜分支版就留给有时间、兴趣的人来研究吧。

时间: 2024-10-07 06:13:29

Windows下升级mysql问题的相关文章

windows下备份mysql方案

总体思想 定时任务调用备份脚本 1.定时任务, 自行研究 2.脚本 c:\mysql_bak\bin\mysqldump.exe -ugbds -pxxxx gbds --hex-blob>c:\mysql_bak\sql\gbds_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.sql 备注: 对于mysqldump.exe可以使用快捷方式复制到使用目录 windows下备份mysql方案,布布扣,bubu

Windows下安装mysql实践

安装mysql-essential-5.1.36-win32.msi (2009年的),懒得下载新的了. 安装时,先前安装的phpedit构成干扰,其license过期了,也找不到了.卸载phpedit,重新安装,结果启动mysql服务,出现1067错误. 解决这个问题,网上有一些指导.进入D:\Develop\MySQL\MySQL Server 5.1,拷贝my-small.ini,重命名为my.ini. 于是解决这个问题.中间曾把my.ini拷贝到c:\windows下. Linux下my

解决Windows下安装MySQL 5.5,运行MySQLInstanceConfig.exe没有响应的方法

我在Windows Server 2003虚拟机上安装MySQL5.5(社区版).这个虚拟机之前被别人安装过MySQL5.5和MySQL5.0,但是忘了root密码,所以重装.不出意外的遇到了配置MySQL Instance时MySQLInstanceConfig.exe没有响应的问题.(我记得以前遇到这个问题,就果断换了MySQL5.0,绕开却并未解决) 试了很多方法,有说需要以Administrator身份运行(据说WIN7上安装会是这个问题,而我用的是Windows Server 2003

windows下(Mysql)Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password:YES) 解决方案

解决方案: 1.在my.ini文件的最后添加一行“skip-grant-tables”,保存并关闭文件. 2.重启MySQL服务. 3.在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库. 4.执行,“use mysql;”使用mysql数据库. 5.执行,“update user set password=PASSWORD("自己设置的新密码") where user='root';”(修改root的密码) 6.打开my.ini文件,删除“skip-g

windows下的mysql安装

windows下的mysql安装分为采用安装文件安装(用的是windows的install程序来做安装),还有一种方式是通过windows中注册一个服务(也可以不注册服务,你每次在windows系统的dos窗口下通过mysqld,mysqldadmin等来做启动和关闭.所以注册了服务相当于把这些exe的程序和路径封装到服务中了,此外服务也可以方便的定义为开机就启动).总之就是两种安装方式. 如果第一次安装建议在MYSQL官网上下载包含INSTALL的方式来做安装,这样就相当于傻瓜式的操作,一般不

Windows下安装Mysql绿色zip版本

以mysql-5.7.4-m14-winx64为例,mysql-5.7.4-m14-winx64.zip下载地址http://dev.mysql.com/downloads/mysql/5.7.html 解压到安装目录D:\mysql-5.7.4-m14-winx64 安装根目录D:\mysql-5.7.4-m14-winx64下创建选项配置文件my.ini [client] port=3306 socket="D:/mysql-5.7.4-m14-winx64/data/mysql.sock&

Windows下搭建MySql Master-Master Replication

1.首先下载最新版的MySql Server (http://dev.mysql.com/downloads/windows/installer/) 2.安装MySql Server到两台机器上 MySql 1: 192.168.0.104 (以下简称104) MySql 2: 192.168.0.103  (以下简称103) 3. 配置Mysql Server启动Binary Logging. 在104的my.ini文件(一般在C:\ProgramData\MySql\MySql Server

Windows下修改mysql root用户密码

忘记mysql的root密码是一件让人头疼的问题. 下面理一下Windows7下面重置root密码的方法. 1.打开一个命令行窗口:这儿必须注意,要使用管理员身份打开: 2.关闭mysql服务:net stop mysql 3.运行 mysqld --skip-grant-tables.该命令是让mysql启动的时候跳过授权表,这儿要注意的是网上很多地方都是 mysqld-nt,但新版本已经被mysqld取代了. 4.重开一个命令行窗口(用管理员身份打开), 运行命令: mysql -u roo

windows下安装mysql笔记

接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.mysql.com/downloads/mysql/ 选择相应的版本和平台 这里选择的是5.7.13版本64位的 压缩包, 文件有310M比较大. 点击Download进入真正的下载页面,发现要登录才能下载 ,要细心点会发现下面有No thanks, just start my download. 就