MySQL切换版本踩坑记录(包括恢复数据方法)
踩坑起因:在创建数据库时,
字段:create_time datetime DEFAULT CURRENT_TIMESTAMP,
报异常--Error Code: 1067 - Invalid default value for 'create_time'
经过苦苦查询下发现时数据库版本5.5不支持默认值 CURRENT_TIMESTAMP,然后就有了换版本踩坑的经历了。
步骤:
安装
1、下载.zip文件,下载完成后在电脑上选择位置解压缩
2、配置环境变量:
cmd输入mysql --version
查看自己mysql的版本。
然后更改myslq服务的启动路径
找到了一个方法,这里就不重复造轮子了:链接
但是到最后一步时发现我的mysql服务启动不了,抛出问题:本地计算机上的MYSQL服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
这个问题的解决方法:
- 移除之前安装的版本的MYSQL服务
1.1、进入mysql安装的bin目录
1.2、打开DOS命令行输入: mysqld --remove mysql
-
将新的MYSQL版本的根目录中的data文件夹清空(没有就新建一个data文件夹)
-
初始化mysql:mysqld --initialize-insecure --user=mysql。
-
安装mysql服务:mysqld --install
-
启动MYSQL服务:net start mysql
注意:如果以上命令无法运行,请使用管理员权限打开cmd
这样的话相当于重新安装了新的mysql版本了,这时候需要将之前的数据库中的信息移到新的数据库中(即恢复数据)
方法:
1、关闭mysql服务:net stop mysql
2、将之前版本mysql安装目录下的data文件夹中 除了mysql文件夹外,其他都复制到新安装版本的data文件夹中(自己创建的数据库默认存储在data文件夹中,如果自己更改过位置,就类比设置)
3、启动mysql服务:net start mysql
到这里就欧克了,如果能帮大家解决问题的话麻烦顶一下,蟹蟹浏览。