欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

程序员文章站 2022-05-02 17:26:02
...

事件原因:

最近在用python研究聚类算法来分析日志,用到了mysqls数据库,在创建表的时候报错:Incorrect table definition; there can be only oneTIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATEclause大概意思就是:不能同时存在两个timestrap属性的字段。上网查了一下给了我几种解决方案:如图

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

于是我在尝试了那两个方法以后,果断选择了升级mysql版本:那么就面临这卸载现在的版本5.5,于是就遇到了一系列问题:

1、卸载mysql:

1》停止MySQL服务
开始-》所有应用-》Windows管理工具-》服务,将MySQL服务停止。
2》卸载mysql server
控制面板\所有控制面板项\程序和功能,将mysql server卸载掉。
3》将MySQL安装目录下的MySQL文件夹删除(我的安装目录是C:\Program Files (x86)\MySQL)
4》运行“regedit”文件,打开注册表。
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。
删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹。
如果没有相应的文件夹,就不用删除了。
5》删除C盘下的“C:\ProgramData\MySQL ”文件夹,如果删除不了则用360粉碎掉即可,
该programData文件默认是隐藏的,设置显示后即可见,或者直接复制 C:\ProgramData 到地址栏回车即可进入!
将整个MySQL文件夹删除掉。。。
6》开始-》所有应用-》Windows管理工具-》服务
如果已经将MySQL卸载,但通过“开始-》所有应用-》Windows管理工具-》服务”查看到MySQL服务仍然残留在
系统服务里。又不想改服务名,改怎么办呢。
只要在CMD里输入一条命令就可以将服务删除:
sc delete mysql //这里的mysql是你要删除的服务名
这样一来服务就被删除了。

然后,就可以重装MySQL数据库了!!!

2、安装mysql5.7:

下载介质:去MySQL官网下载,需要注册才能下载,我下载的是:

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

安装步骤:

1、首先解压文件包,我这解压到D:\MySQL\mysql-8.0.12-winx64目录下:注意目录结构最好不要带有中文,否则在生成data目录是会有问题。启动也会有问题--------------------------------------此处有坑,请绕行!!!!!

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

2、发现mysql根目录下没有data目录和my.ini文件,不要紧,初始化mysql的时候系统会自动创建一个data目录,我们只需创建一个my.ini文件即可。

新建记事本,将下面代码复制到记事本中:

[Client]
port = 3306
 
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\MySQL\mysql-8.0.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL\mysql-8.0.12-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
 
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

3、初始化mysql,搜索cmd找到命令提示符,右键以管理员身份运行,进入bin目录,输入以下命令:

如何启动管理员身份:

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

mysqld --initialize --user=mysql --console

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

初始化成功后,系统会在mysql目录下创建data目录,并生成初始密码。

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

为防止丢失,我们先将密码保存到文本中。

4、输入以下命令安装mysql:

mysqld --install mysql

显示Service successfully installed.表示安装成功。

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

5、输入以下命令启动mysql:

net start mysql

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

6、输入以下命令登录mysql:

mysql -u root -p,输入初始密码,复制初始密码,点击右键可粘贴。

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

7、为了方便后续操作,我们需要配置mysql的环境变量。

选择Path,将我们的bin目录添加到环境变量中。

(1)用户变量中配置如下;

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

(2)系统变量中添加如下:

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

8、修改密码

mysql> alter user 'root'@'localhost' identified by 'youpassword';  

或者       

mysql> set password=password("youpassword");

刷新权限
mysql> flush privileges;

9、Navicat连接mysql8.0.1版本出现1251--Client does not support authentication protocol requested by server的解决

好不容易安装好mysql,但又出现了mysql客户端版本太低的问题。

(1)登陆数据库

mysql -uroot -p

(2)再输入root的密码:

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑

(3)更改加密方式:

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

(4)更改密码:该例子中 root为新密码

mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

(5)刷新

mysql> FLUSH PRIVILEGES;

10、这步完成后我已经成功解决了问题。如果报错,可以看下面第10步:

windows10系统 卸载mysql5.5安装mysql5.7踩过的坑