zoukankan      html  css  js  c++  java
  • MySqlConnector.MySqlException (0x80004005): Table '****' doesn't 解决方法

    数据表是存在的,程序类也没问题,最后找到原因是mysql数据库默认是区分大小写的。

    解决方法有2:

    1、

    我们在创建MySQL容器的时候就需要初始化配置  lower_case_table_names=1  

    记住要放在后面,后面才是mysql的配置

    sudo docker run -d -p 3306:3306 --name 容器名 -e MYSQL_ROOT_PASSWORD=你的密码 mysql --lower_case_table_names=1

    比如容器名为wzhmysql

    进入容器
    docker exec -it wzhmysql /bin/bash

    登录mysql
    mysql -uroot -p123456

    查看user
    select host,user,plugin,authentication_string from mysql.user;

    host是' % ' 表示允许所有机器访问,若host为127.0.0.1或者localhost,那么该用户就只能在本机访问。

    修改root为mysql_native_password 并修改新密码

    alter user 'root'@'%' identified by '123456' password expire never;

    alter user 'root'@'%' identified with mysql_native_password by '123456' ;

    刷新权限
    flush privileges;

    查看大小写参数

    show variables like '%table_names'

    如果lower_case_table_names参数已经变为1,说明不区分大小写了。

    2、

    详细操作如下 ,转载:

    docker修改mysql8配置 修改表名区分大小写问题_Lucky-CSDN博客_docker修改mysql配置

  • 相关阅读:
    IE11浏览器:请不要再叫我IE,谢谢
    Hadoop HA高可用搭建流程
    YARN
    MapReduce
    HDFS
    shell
    shell总结
    linux总结
    maven+log4j
    Spring
  • 原文地址:https://www.cnblogs.com/lunawzh/p/14917686.html
Copyright © 2011-2022 走看看