數據表是存在的,程序類也沒問題,最后找到原因是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、
詳細操作如下 ,轉載:
