Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql没有my.ini文件

安装的mysql中没有my.ini文件的解决方法

作者:其妙的太空人

本文主要介绍了安装的mysql中没有my.ini文件的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

使用的这么长时间的mysql,有一天我突然需要使用mysql 的配置文件my.ini时发现没有这个文件并且这个文件不是被隐藏了。

查看自己的mysql中是否有my.ini,也可能是这个文件是隐藏文件你没有设置可以查看隐藏文件

一般情况下mysql都是安装在C:\Program Files\MySQL\MySQL Server 5.7这个地方,我之前好像是用的安装包搞的mysql所以没有my.ini这个文件。这个文件是关于mysql一个重要配置文件。如果没有的话可以这样。

这个我也是看别人的文章搞的。

注意,在你准备把my.ini这个文件搞出来之前先把你之前数据库中的数据都转储sql一下因为,因为在这个过程中会删掉data文件,并且关闭sql服务。所以之前的数据会全部被抹除掉。

恢复my.ini第一步:

备份本地数据,咋备份。直接用Navicat转储sql就行。

恢复my.ini第二步:

在mysql的bin目录下输入cmd然后回车。

恢复my.ini第三步:

进入命令窗口:

恢复my.ini第四步:

删除MySQL服务命令:sc delete服务名。

服务名如何查看。

有好多种办法,第一种是直接凭感觉找。

第二种就是使用mysql的端口号查找。

3306是mysql默认端口号。win+R 输入cmd 进入命令行。输入一下命令。

netstat -ano | findstr 3306

找到服务名后输入一下命令:

#MySql57是我的服务名

sc delete MySql57

执行这条命令后MySql57这个服务在在服务中就被删除了。

确实想要截图命令的话我可以把之前的从服务从新搞一遍,因为主服务里有好多数据如果搞我主服务还要备份。从数据库的操作和主数据库一样。只是名字不一样。接下来我就以从服务。给大家截个图。从服务的服务名是mysqls1

删之前要把服务给停了!

如果出现第二种情况一种原因是服务名错了。另一种就是你已经给删了。第二种情况如果在服务中找不到这个服务名说明你已经删除了。

恢复my.ini第五步:在mysql根目录下新建文件,文件名命名为my.ini

恢复my.ini第六步:在my.ini中编辑一下内容。

basedir 和 datadir 这两个配置要根据你实际的mysql路径进行编辑

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8
init_connect='SET NAMES utf8'
# 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.
#注意这个地方要和你安装mysql的路径保持一致。
basedir = C:\Program Files\MySQL\MySQL Server 5.7
datadir = C:\Program Files\MySQL\MySQL Server 5.7\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
skip-grant-tables

恢复my.ini第七步:在mysql中生成新的data文件

在mysql的bin目录下输入cmd回车然后输入一下命令行。

mysqld --initialize-insecure --user=mysql

出现这种报错是你没有把之前的data文件删除。

出现这种情况我一般使用火绒直接粉碎。

出现这个错那么大概是因为你my.ini中的这两条配置不对。

basedir = C:\Program Files\MySQL\MySQL Server 5.7-s1

datadir = C:\Program Files\MySQL\MySQL Server 5.7-s1\data

删除后在执行

恢复my.ini第八步:重新生成mysql服务,同时绑定my.ini配置文件

输入一下命令。

mysqld --install "MySql57" --defaults-file="C:/Program Files/MySQL/MySQL Server 5.7/my.ini"

如果无法启动成功重复上面的步骤。不要怕大胆干反也损失不了啥!

重复了好几遍还是不行那大概是端口冲突了吧,把my.ini文件的3306随便改一个。

恢复my.ini第九步:进入mysql修改密码

登录mysql,输入此命令。因为服务刚刚删了所以不用输入密码。

mysql -u root -p

直接回车

进入mysql后,输入

use mysql;

然后再输入

update mysql.user set authentication_string=password("123456") where user="root";

然后刷新权限并退出

flush privileges;
Quit

到此这篇关于安装的mysql中没有my.ini文件的解决方法的文章就介绍到这了,更多相关mysql没有my.ini文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文