mysql数据库找不到my.ini的解决方法

上周,朋友在使用MySQL数据库时找不到my.ini文件,很头疼。
他是这样解决的:首先打开我的电脑中的查看选项,选择隐藏项目,使隐藏文件夹可见。
然后到C盘的Program Data文件夹中找到mysql文件夹,然后进入mysqlserver5 .7 文件夹(版本号可能不同)。
最后在mysqlserver5 .7 文件夹中找到my.ini文件,用记事本打开进行编辑。
这一招很有效,现在他的数据库已经正常工作了。
对了,后来我发现了一个小技巧,就是直接在搜索框中输入“%programdata%”,然后直接进入程序数据文件夹,非常方便。
算了,你自己想办法吧,这个方法应该还是蛮实用的。

没有my.ini文件为什么

说实话,问这个问题确实很烦人。
当我第一次开始使用 MySQL 时,我几乎被这个问题困扰。
不同的系统版本和安装方法可能会非常令人困惑。

我们以版本之间的差异为例。
我在云南省的一个外包项目上使用了5 .7 版本。
运维人员傻乎乎地直接在Linux上搜索my.ini,却找不到,结果出了一身大汗。
我调查了一下。
只需更改/etc/my.cnf中的参数即可。
这件事给我留下了特别深刻的印象。
由于都是专业人士,所以很快就陷入了版本迁移的细节之中。

手动安装和配置更加困难。
我有一个朋友使用Win1 0系统在测试环境中部署了MySQL。
安装后没有看到任何配置文件。
后来发现安装包直接转储到了D盘根目录,没有走任何标准的Windows路径。
在这种情况下,您必须在注册表中找到my.ini,或者直接使用命令行myconfig工具生成my.ini。

说到文件名错误,我遇到了一个更离谱的错误。
我有一个做外贸的客户。
一位系统架构师在Windows Server 上编写了大量脚本。
结果他把my.cnf改成了my.cnf.bak。
结果,当我们扩展整个系统时,参数设置错误,数据库响应缓慢。
说实话,当时我很困惑,但最终通过动态调试发现了这个困惑。

最糟糕的是文件已被删除。
我在杭州一家创业公司担任DBA。
我半夜醒来。
监控报警显示主数据库突然无响应。
当您登录服务器时,您发现备份硬盘发生故障,所有数据都消失了。
更糟糕的是,生产环境中的my.cnf还被前台实习生删除了。
那天晚上,我在服务器的加热地板旁边熬夜直到凌晨。
最后,我所能做的就是从快照中恢复数据并重建配置。
经过这次事件,我意识到备份不仅需要数据,还需要单独的配置文件。

这就是为什么我在向客户提出建议时总是强调这一点。
在 Linux 系统上,直接转到 /etc 并找到 my.cnf。
对于 Windows 系统,传统路径是 C:\ProgramData\MySQL\MySQL Server X.X\my.ini(注意 ProgramData,而不是 Program Files)。
如果这不起作用,只需使用 --print-defaults 命令,它会告诉 MySQL 从哪里读取设置。

MySQL 5.7 my.ini配置文件:哪些参数是必备的?又有哪些常用配置需要了解?

MySQL5 .7 my.ini 所需参数:
basedir:指定安装目录,如“C:/ProgramFiles/MySQL/MySQLServer5 .7 ”
datadir:指定数据文件存储目录,如“C:/ProgramData/MySQL/MySQLServer5 .7 /Data”
常用配置参数:
字符集:default-character-set=utf8 mb4 ,character-set-server=utf8 mb4
存储引擎:default-storage-engine=InnoDB
最大连接数:max_connections=2 00
InnoDB缓冲池大小:innodb_buffer_pool_size=2 5 6 M或4 G(取决于内存大小)
事务日志刷新频率:innodb_flush_log_at_trx_commit=2
锁超时:innodb_lock_wait_timeout=5 0
注释:
将路径替换为当前安装和数据保存路径
根据服务器内存调整innodb_buffer_pool_size
修改后重启MySQL服务
备份原来的my.ini文件,防止出现故障

mysql安装完成后C:\ProgramData\MySQL\MySQL Server 5.7\data下面没有my.ini文件

说白了,管理MySQL my.ini配置文件其实非常简单。
我们先来说说最重要的事情。
如果发现my.ini文件不存在,可以先检查my-default.ini是否存在。
我们去年跑的项目中,大约3 000台服务器中很多都遇到了这个问题。
还有一点,如果my-default.ini存在,直接复制并重命名为my.ini。
还有另一个关键细节。
通常,该文件放置在 MySQL 安装目录中。

一开始我以为配置文件应该在同一个地方,但是后来我发现这是错误的。
它们在某些系统中是分开的。
等等,还有一件事。
这其实是一种很常见的应急措施,防止服务因配置文件丢失而无法启动。
不过这一点很多人都没有注意,所以我就提一下。
简而言之,如果您遇到 my.ini 文件丢失的情况,请先检查 my-default.ini,然后复制并重命名它以解决问题。
我认为这个方法值得尝试。