安装的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文件如何解决的详细内容,更多请关注www.sxiaw.com其它相关文章!