【配置环境的坑】 关于windows中两个mysql环境的坑

背景:由于自家电脑太卡了,学校配了一台之前师兄们用过的电脑,于是我在新电脑上配置了各种环境,有些环境是师兄已经装好的,可以套用,但是在转移数据库的过程中,我发现了一个问题,就是新电脑的版本是mysql5.5 而 我使用的版本是mysql5.7.33 ,由于mysql5.5版本过于老旧,在执行sql文件时会出现问题,问题如下。

报错:  ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause.
 

原因:上面这个错误是因为在MySQL 5.5文档有这么一段话:

One TIMESTAMP column in a table can have the current timestamp as the default value for initializing the column, as the auto-update value, or both. It is not possible to have the current timestamp be the default value for one column and the auto-update value for another column.
意思是只能有一个带CURRENT_TIMESTAMP的timestamp列存在。

解决办法:我的解决版本是重新下载一个mysql5.7 但是不删除原先5.5 只是将服务改成5.7,这样也不会影响师兄的mysql5.5数据库。

步骤:

一、首先下载好一个mysql5.7版本

下载好之后解压会出现这么一个文件

 二、修改my.ini将路径进行修改

修改成当前路径,要保证当前data文件里面没有东西,这是因为如果有东西会报错的。

三、更改好环境变量

将环境变量从原先5.5版本更改到5.7版本的目录中

 PATH环境变量中输入

D:\xzdtools\mysql-5.7.33-winx64\mysql-5.7.33-winx64\bin

四、创建一个服务

管理员权限运行cmd,进入对应的mysql5.7文件夹\bin的目录中

输入:

mysqld install MYSQLxzd --defaults-file="d:\xzdtools\mysql-5.7.33-winx64\mysql-5.7.33-winx64\my.ini"

其中:

MYSQLxzd是服务名,可以自己定

默认路径找到mysql5.7的my.ini对应路径

创建服务成功

我们可以在服务中找到,

打开服务的方式:Win+R  输入service.msc

 

五、初始化服务

 mysqld --initialize --console

初始化成功后会给root用户一个初始密码

A temporary password is generated for root@localhost: p<otI#srv6n7

注意:初始化服务时必须要将之前mysql5.5版本数据库先停掉,不能让它打开,否则这个没法初始化;并且之前说了data文件夹中不准有数据,有数据这里也会报错。

好了以后我们可以通过cmd进入数据库

mysql -u root -p

进入数据库先把密码改了

set password for root@localhost = password('123456');

更改了密码之后exit 我们重新登录进mysql就可以了

这个时候数据库版本变成了5.7了

同时师兄的mysql5.5仍然还在!

 

只是将它的关掉了,不会丢失其数据。
 

猜你喜欢

转载自blog.csdn.net/Wannabe_hacker/article/details/124077057