mysql 解压版 log_bin无法开启,解决方法

一、卸载mysql解压版本,一定要卸载干净!
1.首先在windows服务中将mysql服务删掉,使用命令 sc delete mysql

如果mysql处于连接状态,可以先将mysql连接关闭(net stop mysql)。

2.在控制面板中卸载掉mysql。

解压版好像不需要删除。我就直接进行了下一步。

3.清理mysql安装目录的ini文件。

这里我就直接把mysql解压出来的文件包全部删除.

4.清理注册表:

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.有一些mysql的数据文件也必须删除干净,比如说:C:\Documents and Settings\All Users\Application Data\MySQL

还有就是清理C:\Program Files\MySQL (除过odbc不用删除)

C:\Program Files (x86)\MySQL

C:\ProgramData\MySQL(隐藏文件)

如果找不到该文件夹就不用删除了(我就没有找到)。

6.重启电脑。重新安装即可。

二、安装MySQL5.7(解压版)

安装mysql解压版 管理员命令执行,我是解压到了E盘

mysql delete 有binlog日志吗 mysql删除binlog 启动不了_mysql

 

1.将my-default.ini复制了一份,改成my,ini文件,my-default.ini备份成了如图bakmy-default.ini.bak备份

2 修改my.ini文件

[mysqld]

# logbin
log-bin=E:\mysql-5.7.17-winx64\mysql-bin
expire_logs_days=180
#cose logbin
#skip-log-bin
binlog_format = row

# The next three options are mutually exclusive to SERVER_PORT below.
# skip-networking

enable-named-pipe

shared-memory

shared-memory-base-name=MYSQL

# The Pipe the MySQL Server will use
socket=MYSQL

# The TCP/IP Port the MySQL Server will listen on
port=3306

#设置mysql的安装目录
basedir = E:\mysql-5.7.17-winx64
#设置mysql数据库的数据文件的存放目录
datadir = E:\mysql-5.7.17-winx64\data

# The default character set that will be used when a new schema or table is
# created and no character set is defined
character-set-server=utf8

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
explicit_defaults_for_timestamp=true

# Set the SQL mode to strict
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# Server Id.
server-id=121

# Secure File Priv.
secure-file-priv="E:\mysql-5.7.17-winx64\Uploads"

# 最大连接数
max_connections=151

如上表加粗都要检查配置,没有就添加,有就按实际目录配置,basedir,datadir,secure-file-priv的值目录如果不存在,就会发生服务启动失败,我就是碰到这个问题,找了好多资料才知配置文件目录与实际目录有问题,导至服务在检测启动时启动不了。

logbin默认不关的,如果第一次安装

log-bin配置如log-bin=E:\mysql-5.7.17-winx64\mysql-bin,我的解压安装目录E:\mysql-5.7.17-winx64\,所以就加了log-bin=mysql-bin,合起来就是log-bin=E:\mysql-5.7.17-winx64\mysql-bin ,如上图它会在我的E:\mysql-5.7.17-winx64下生成文件名称为mysql-bin为开头的文件(log-bin文件,配置好后,重启服务对应目录下就会生成增量备份mysql-bin.000001文件),同时logbin就会打开为ON,默认是OFF

 

3.配置mysql环境变量

添加mysql_home=E:\mysql-5.7.17-winx64,path路径下添加 %mysql_home%\bin

注意用户变量和系统变量下都要添加

4.使用系统管理员方式cmd到mysql安装路径
1在电脑左边找到命令提示符

PS E:\mysql-5.7.17-winx64\bin> mysqld --initialize-insecure --explicit_defaults_for_timestamp=true
PS E:\mysql-5.7.17-winx64\bin> mysqld -install
Service successfully installed.
PS E:\mysql-5.7.17-winx64\bin> net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

首次登录没有密码

PS E:\mysql-5.7.17-winx64\bin> mysql -u root -p

首次登录没有密码,直接回车即可
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

设置密码如下

mysql> set password = password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>

修改
mysql> update mysql.user set authentication_string=password('123456') where user='root';

# 再执行修改成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges; # 刷新权限
Query OK, 0 rows affected (0.00 sec)

mysql> quit;# 退mysql
 

logbin默认关的,如果第一次安装默认OFF   

查看binlog模式

show variables like 'log_%';

# 查看binlog格式
show variables like "%binlog_format%";

# 查看binlog文件有哪些
show binary logs;
# 查看binlog内容
show binlog events in '文件名'

要开启log-bin

1.关闭服务 mysql

2.my.ini配置,检查配置log-bin=mysql-bin,即开启,打开logbin

log-bin配置如log-bin=E:\mysql-5.7.17-winx64\mysql-bin,我的解压安装目录E:\mysql-5.7.17-winx64\,所以就加了log-bin=mysql-bin,合起来就是log-bin=E:\mysql-5.7.17-winx64\mysql-bin ,如上图它会在我的E:\mysql-5.7.17-winx64下生成文件名称为mysql-bin为开头的文件(log-bin文件,配置好后,重启服务对应目录下就会生成增量备份mysql-bin.000001文件),同时logbin就会打开为ON

mysql delete 有binlog日志吗 mysql删除binlog 启动不了_mysql_02

 

server-id=121,server-id一定要配置任意值,否则服务也会起动不了

最后在说一句,配置文件一定要检查好,我就是目录配置错误,总是不起作用打不开logbin,my.in文件权限要也配置好,否则有可能,配置文件不生效

mysql delete 有binlog日志吗 mysql删除binlog 启动不了_MySQL_03