安装的mysql中没有my.ini文件如何解决

网友投稿 1328 2023-07-01

安装的mysql中没有my.ini文件如何解决

安装的mysql中没有my.ini文件如何解决

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

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

一般情况下mysql都是安装在C:\Program Files\MySQL\My*** 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 = FALSEcharacter-set-server = utf8init_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\My*** 5.7datadir = C:\Program Files\MySQL\My*** 5.7\dataport = 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 = 128Msort_buffer_size = 16Mread_rnd_buffer_size = 16M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESskip-grant-tables登录后复制

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

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

mysqld --initialize-insecure --user=mysql登录后复制

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

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

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

basedir = C:\Program Files\MySQL\My*** 5.7-s1datadir = C:\Program Files\MySQL\My*** 5.7-s1\data登录后复制

删除后在执行

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

输入一下命令。

mysqld --install "MySql57" --defaults-file="C:/Program Files/MySQL/My*** 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登录后复制

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL长字符截断如何实现
下一篇:MySQL中如何删除行
相关文章