【详记MySql问题】安装之后没有my.ini配置文件怎么办

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文件夹下(详细步骤参见第一章~):

运行命令:

C:\mysql\mysql-8.0.23-winx64>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文件。运行:

C:\mysql\mysql-8.0.23-winx64>mysqld --initialize-insecure --user=mysql

该命令需要执行大概一分钟或者更快,完成后会在MySql程序文件夹下重新生成名称为data的文件夹:
在这里插入图片描述

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

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

C:\mysql\mysql-8.0.23-winx64>mysqld --install "MySql" --defaults-file="C:/mysql/mysql-8.0.23-winx64/my.ini"

在这里插入图片描述
如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql服务:
在这里插入图片描述

5. 启动服务

net start mysql

如果启动成功,是这样的:
在这里插入图片描述

如果不成功:
在这里插入图片描述
这时可能是my.ini配置文件中的某些配置有问题。仔细检查并修改ini文件内容,然后从头按步骤再试一遍。

6. 重新设置密码

命令:

C:\mysql\mysql-8.0.23-winx64\bin>mysql -u root -p

这时密码为空,不需要填写,直接回车:
在这里插入图片描述

7. 修改root用户密码

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

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

之前的版本是:

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

在这里插入图片描述
OK,大功告成!

  • 44
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿肆si

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值