Windows操作系统中,我们安装Mysql有两个选择:

一是下载MSI点击运行,利用windows系统安装程序的方法按部就班的来安装;

二是下载ZIP,解压出来就能立即使用。

在使用ZIP安装时,安装好之后默认是没有my.ini配置文件的:

当我们想修改数据库的配置信息如 wait_timeout、interactive_timeout、max_connections 或大小写敏感时,却找不到my.ini 配置文件。

虽然这时,还可以通过命令行来修改配置信息,但重启mysql后修改会失效,配置会回归默认值,所以这种方式治标不治本。

这里提供了另一种方法,解决的基本思路是:先删除Mysql服务,然后自己新建一个my.ini文件,最后使用命令行重新初始化mysql服务,同时指定新建的my.ini作为服务默认的配置文件。

以下是详细步骤:

1. 删除MySql服务

打开cmd(记得”使用管理员身份“打开),如果没有配置环境变量,请cd(切换目录)到mysql程序下的bin文件夹下(详细步骤参见第一章~):

运行命令:

D:\MySql\bin>sc delete MySql

"MySql"为服务名称,你的MysSql服务不一定是这个名称,可以打开电脑的服务窗口查看。

删除完成之后,最好去电脑的服务窗口看下,如果找不到MySql服务,说明已经已经删除成功。

如果还能看到MySql服务,可以手动右击选择”停止“,服务停止之后就会自动消失了。

2. 新建my.ini配置文件

在mysql程序的根目录下,新建一个my.ini空白文件,用记事本打开,将以下内容复制进去,保存:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:\MySQL
datadir = D:\MySQL\data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

其中basedir 和 datadir 根据实际MySql安装的位置进行修改。

3. 重新生成data文件

删除之前生成的data文件,如果有重要的数据表,请先备份好。

回到cmd,重新生成data文件。运行:

D:\MySql\bin>mysqld --initialize-insecure --user=mysql

该命令需要执行大概一分钟左右,完成后会在MySql程序文件夹下重新生成名称为data的文件夹:

4. 重新安装mysql服务,同时绑定my.ini配置文件

安装MySql服务,同时设置绑定my.ini配置文件。命令:

D:\MySql\bin>mysqld --install "MySql80" --defaults-file="d:/mysql/my.ini"

“MySql80”是服务名称,80表示8.0版本,当然,也可以自己取别的名字。

注意这里 "d:/mysql/my.ini" 需要自已安装的绝对路径。

如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql80服务:

5. 启动服务

这里有两种启动服务的方式:1)服务窗口启动;2)cmd启动

5.1 服务窗口启动

直接右击服务项,选择启动:

5.2 cmd命令启动

命令:

D:\MySql\bin>net start mysql80

等待20秒左右,如果启动成功,是这样的:

如果不成功:

这时可能是my.ini配置文件中的某些配置有问题。你可以修改ini文件内容,然后从头按步骤再试一遍。

6. 重新设置密码

删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。

6.1 登陆mysql

命令:

D:\MySql\bin>mysql -u root -p

这时密码为空,不需要填写,直接回车:

6.2 修改root用户密码

(敲黑板)这里有个需要注意的地方,在8.0之后的版本,修改root用户密码的命令是:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

之前的版本是:

update mysql.user set authentication_string=password("你的密码") where user="root";

我这里安装的是8.0.15,所以是第一个:

6.3 退出MySQL

命令:

mysql> exit

6.4 使用修改后的密码重新登陆

这里的命令和之前是一样的,就不写了,密码记得要填刚才设置的:

现在已经成功绑定了my.ini配置文件了,如果需要自定义配置,可以打开文件进行相应的配置设置,修改后重启服务即可。

如果修改后,重启服务报错,如下图:

有一种可能:你修改的配置与服务初始化时的配置有冲突,这时只能从头开始,在初始化的时候绑定my.ini文件 。

mysql安装绑定my.ini的更多相关文章

  1. mysql 安装部署

    如下方法 安装完成后 没有my.ini 配置文件,请结合下篇(mysql安装绑定my.ini)文章一起看. 安装包的安装方式:参考:https://www.cnblogs.com/ayyl/p/597 ...

  2. win8 64位 mysql安装 Configuration file my.ini error code -1

    问题如题,解决方法: 1.由于目录中纯在中文,所以导致代码错误.故而把目录设置成全英文的. 2.下载64位mysql安装,安装32位mysql也会出现此问题.

  3. 关于Windows下无法在MySQL安装目录找到配置文件my.ini

    目前5.7版本的MySQL的配置文件my.ini位于: C:\ProgramData\MySQL\MySQL Server 5.7

  4. mysql安装简单教程(自动安装/配置安装)

    mysql安装简单教程(自动安装/配置安装) 1.1前言: 由于特殊原因,在最近2-3个月里mysql真是安装了无数遍,每次安装都要上网找教程,每个教程基本都不一样,因此还是自己写下来比较好,毕竟自己 ...

  5. CentOS Mysql安装配置

    一.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数 ...

  6. MySQL数据库(一)-- 数据库介绍、MySQL安装、基础SQL语句

    一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 (3)一个程序不太可能仅运行在同一台电脑上 ...

  7. MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句

    数据库介绍.MySQL安装.基础SQL语句 一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 ...

  8. MySQL安装步骤

    MySQL安装步骤 1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. ...

  9. MySQL 安装 + 精简 + 配置

    MySQL 安装 + 精简 + 配置 下载安装 从官网 下载 Community Edition MySQL 5.6 版本 精简 根目录下只留 [data/bin/share] , my-defaul ...

随机推荐

  1. Log Parser Studio 分析 IIS 日志

    Log Parser Studio 分析 IIS 日志 来源 https://www.cnblogs.com/lonelyxmas/p/8671336.html 软件下载地址: Log Parser ...

  2. Gitbash如何支持交互式命令?如何让gitbash的命令不乱码?winpty是什么鬼?干嘛用的?

    winpty 是一个 Windows 软件包,提供了类似 Unix pty-master 一样的接口,用于实现控制台程序之间的通讯.该软件包包括一个开发库 (libwinpty) 和一个用于 ygwi ...

  3. Hdoj 2018.母牛的故事 题解

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

  4. 【COGS2652】秘术「天文密葬法」(长链剖分,分数规划)

    [COGS2652]秘术「天文密葬法」(长链剖分,分数规划) 题面 Cogs 上面废话真多,建议直接拉到最下面看一句话题意吧: 给个树,第i个点有两个权值ai和bi,现在求一条长度为m的路径,使得Σa ...

  5. HttpWebRequest发http参数

    使用js发请求时,一般使用表单.json对象或者字符串 $.post(url,jsonStr) 服务端获取参数 Request.QueryString.Get();// GET参数 Request.F ...

  6. CAN总线要点

    前言 CAN总线的应用在现在看来越来越广泛,我厂设备从最初的ARM9与ARM7平台.期间升级过度到CortexA8与Cortex M3平台,再到现在的Cortex M4平台,围绕CAN进行了一系列产品 ...

  7. JIRA和Confluence更改JVM内存大小解决访问打开缓慢问题

    原因: 根据主机物理内存不同,默认的java虚拟机内存也会不同(一个较低值),有时候不够用,可以修改默认设置,改善内存不足导致的问题. 操作步骤: JIRA 1. 打开至相应目录: ~]# cd  / ...

  8. Manacher (最长回文序列)

    https://www.cnblogs.com/grandyang/p/4475985.html 思路是学习的是上面博客的想法,思路很清晰 优化的方法和exkmp有异曲同工的地方 博客里的内容我在这里 ...

  9. [CTSC2018]暴力写挂——边分树合并

    [CTSC2018]暴力写挂 题面不错 给定两棵树,两点“距离”定义为:二者深度相加,减去两棵树上的LCA的深度(深度指到根节点的距离) 求最大的距离. 解决多棵树的问题就是降维了. 经典的做法是边分 ...

  10. (转)多线程——继承Thread 类和实现Runnable 接口的区别

    java中我们想要实现多线程常用的有两种方法,继承Thread 类和实现Runnable 接口,有经验的程序员都会选择实现Runnable接口 ,其主要原因有以下两点: 首先,java只能单继承,因此 ...