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配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM