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盘
1.将my-default.ini复制了一份,改成my,ini文件,my-default.ini备份成了如图bakmy-default.ini.bak备份
2 修改my.ini文件
[mysqld] # logbin # The next three options are mutually exclusive to SERVER_PORT below. enable-named-pipe shared-memory shared-memory-base-name=MYSQL # The Pipe the MySQL Server will use # The TCP/IP Port the MySQL Server will listen on #设置mysql的安装目录 # The default character set that will be used when a new schema or table is # The default storage engine that will be used when create new tables when # Server Id. # Secure File Priv. # 最大连接数 |
如上表加粗都要检查配置,没有就添加,有就按实际目录配置,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
server-id=121,server-id一定要配置任意值,否则服务也会起动不了
最后在说一句,配置文件一定要检查好,我就是目录配置错误,总是不起作用打不开logbin,my.in文件权限要也配置好,否则有可能,配置文件不生效