MySQL数据库报1055错误

有点坑啊,当初装MySQL数据库的时候没有整配置文件,结果MySQL报1055错误的时候,网上的解决办法都说如果需要永久生效的话,只能通过改配置文件实现,but,我没有配置文件,蜜汁尴尬啊

1、已安装的MySQL,如何重新添加配置文件my.ini

1.1、删除MySQL服务

以管理员身份打开cmd,输入命令:

sc delete MySql

"MySql"为服务名称,你的MysSql服务不一定是这个名称,可以打开电脑的服务窗口查看。

删除完成之后,最好去电脑的服务窗口看下,如果找不到MySql服务,说明已经已经删除成功。

如果还能看到MySql服务,可以手动右击选择”停止“,服务停止之后就会自动消失了。

1.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 = E:\mysql-5.7.24-winx64
datadir = E:\mysql-5.7.24-winx64\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 

1.3、重新生成data文件

先将原来的data文件删除(注意备份)

回到cmd,重新生成data文件,运行以下命令:

mysqld --initialize-insecure --user=mysql

完成后会在MySql程序文件夹下重新生成名称为data的文件夹,可以打开MySQL安装路径查看

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

在cmd中输入以下命令:

mysqld --install "MySql75" --defaults-file="E:\mysql-5.7.24-winx64\my.ini"
MySql75是服务的名字,这里可以自己随便取,我这里写的是代表MySQL5.7版本
E:\mysql-5.7.24-winx64\my.ini是my.ini的绝对路径

如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql75服务:

1.5、启动服务

启动服务的方式有两种,一种是在服务窗口手动启动,一种是在cmd中通过命令启动

1.5.1、命令启动

在cmd中输入如下命令:

net start mysql75

1.5.2、服务窗口手动启动

win +R:输入services.msc打开服务窗口

1.6、重新设置密码

删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。

打开navicat重新设置密码

退出MySQL,在重新以新密码进入即可

2、解决MySQL1055问题(永久解决)

在navicat中执行以下命令:

SELECT @@sql_mode

将最开始的ONLY_FULL_GROUP_BY去掉,复制后边的全部代码,打开刚才写的my.ini,添加到最后一行

sql _mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

最后再重新启动一下服务即可

 

posted @ 2020-11-16 11:50  一个名  阅读(1039)  评论(0编辑  收藏  举报