zoukankan      html  css  js  c++  java
  • 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-winx64data
    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-winx64my.ini"
    MySql75是服务的名字,这里可以自己随便取,我这里写的是代表MySQL5.7版本
    E:mysql-5.7.24-winx64my.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

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

  • 相关阅读:
    Linux
    CUDA开发
    Linux C++
    Python
    C++
    模式识别
    Linux
    算法
    算法
    leetcode 数组,链表,跳表
  • 原文地址:https://www.cnblogs.com/bzbz/p/13984379.html
Copyright © 2011-2022 走看看