mysql5.7卸载报错_Mysql5.7解压版的安装和卸载及常见问题

一、安装

1、下载

2、解压

解压到想安装的目录下,我的是D:\mysql-5.7.13-winx64

3、配置my.ini

在D:\mysql-5.7.13-winx64目录下新建my.ini文件,输入以下配置代码:

[mysqld]

# 设置mysql的安装目录

basedir=D:\mysql-5.7.13-winx64

# 设置mysql数据库的数据的存放目录,必须是data

datadir=D:\mysql-5.7.13-winx64\data

# mysql端口

port=3306

# 字符集

character_set_server=utf8

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

配置环境变量

4、安装

以管理员身份运行cmd,执行以下命令:

mysqld -install [服务名]

注:服务名默认为mysql,若无需要,建议不更改

5、初始化

mysqld --initialize-insecure

注:–initialize有两个-,后边没有空格

初始化后,D:\mysql-5.7.13-winx64目录下回出现data目录

6、启动服务

net start mysql

7、登录mysql,修改密码

038cfbbae366bb45bb5a8b71d0419327.png 

搞定!

二、卸载

1、关闭服务

以管理员身份运行cmd,执行以下命令:

net stop mysql

2、卸载

mysqld -remove [服务名]

3、删除文件

4、删除注册表信息

清除注册表中的该MySQL服务,有几个地方:

a、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除

b、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除

c、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除

注册表中的ControlSet001、ControlSet002不一定是001和002,可能是ControlSet005、006之类,删除的时候都删除就可以 。

三、常见问题

1、data文件错误

4f87d001abc5b298233d116af3069b5c.png

原因:一般初始化之前已存在data文件就会出现这个错误,或者data文件缺少了某些文件

解决:先执行mysqld -remove,然后把data文件删除,如果删除不了重启一下就可以了,之后重新进行安装就没问题了。如果想保留之前的data文件,可以先把data文件拷贝到其他地方,安装好之后再将原data文件中多的文件拷贝进去就行了

2、密码错误

f887b1fb94a304d33e3ebed04a98f6b4.png

原因1:使用mysqld –initialize方法安装会生成一个随机字符串组成的密码,这个密码在错误日志D:\mysql-5.7.13-winx64\data\green.err(green是用户名)可以找到。

原因2:忘记密码

解决:如果忘记密码或找不到随机密码,可以通过以下方法跳过权限修改密码

以管理员身份运行cmd,执行以下命令:

net stop mysql//关闭服务

mysqld --skip-grant-tables;//设置mysql登录--skip-grant-tables模式

打开一个新的cmd

mysql//直接登录mysql

update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';//修改密码

//特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段

flush privileges;//刷新权限,退出--skip-grant-tables模式,很重要!

重启电脑,然后mysql就可以连接了

但是此时操作似乎功能不完全,还要在登录状态下修改一次密码

alter user 'root'@'localhost' identified by '123456';

还可以这样:

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

或这样:

set password=password('123456');

The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解决办法:

mysql> set global read_only=0;

(关掉新主库的只读属性)

flush privileges;

set global read_only=1;(读写属相)

flush privileges;

Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.

mysql> SET SESSION binlog_format = 'ROW';

mysql> SET GLOBAL binlog_format = 'ROW';

flush privileges;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值