操作系统:Windows Server 2008 环境:xampp 当前 mysql 版本:5.1 目标 mysql 版本:5.7
升级步骤:
在xampp控制台停止mysql服务;在xampp安装目录下修改目录“mySql”的名称为“mySql-old”,以作备份,同时新建目录“mySql”;下载并安装mysql 5.7版本的server组件,跳过configure;把刚刚安装的mysql根目录下的 bin、lib、share 目录复制到 xampp\mySql 目录下;如果 xampp\mySql\data 目录下有文件,先全部删除;在 xampp\mySql\bin 目录下打开 cmd,运行命令 mysqld --initialize 进行初始化,接下来会自动创建 data 目录下的文件。不这样操作的话,可能会提示找不到 mysql.plugin 表。把 xampp\mySql-old\data 目录下的非系统库文件复制到 xampp\mySql\data 目录下;把 xampp\mySql-old\bin 目录下的 my.ini 文件复制到 xampp\mySql\bin 目录下;在 xampp 控制台启动 mysql 服务,此时可能会失败,失败原因需要到“mysql_error.log”中排查,基本上都是因为 5.1 版本的 my.ini 中的配置在 5.7 版本中不支持,找出来以后注释掉就行。其中 innodb_buffer_pool_size 之前设置的是 2000M,导致启动服务失败,改为默认值 128M 后正常。mysql 服务正常启动后,登录 root 账号可能失败,提示 Access denied for user…… 解决方案: (1)先停止mysql服务,在 my.ini 文件的 [mysqld] 下添加配置“skip-grant-tables”。 (2)开启服务,在 xampp\mySql\bin 目录下打开 cmd,键入命令“mysql -u root -p”,使用空密码登录。 (3)键入命令“flush privileges;”执行。 (4)键入命令“ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;”执行。 (5)再次键入命令“flush privileges;”执行。 (6)停止服务。 (7)取消在 my.ini 文件中的配置“skip-grant-tables”。 (8)开启服务,应该可以正常登录了!参考链接: https://jingyan.baidu.com/article/7f41ecec38d60b593c095c4a.html https://jingyan.baidu.com/article/7f41ecec38d60b593c095c4a.html https://cloud.tencent.com/developer/ask/179902