今天遇到乙個賊坑的事情,某個功能在各個地區,都沒問題,唯獨在某市出現了問題,刪除刪不了,查詢查不了!
後來發現竟然是mysql對錶名大小寫敏感,日了狗了,windows預設對大小寫不敏感的啊!
於是趕緊去檢查下lower_case_table_names值,果然,他被設為了lower_case_table_names=0。
如何檢測lower_case_table_names?
1、執行如下sql:show variables like '%lower_case_table_names%';
2、如果為0,開啟my.ini檔案(my.ini檔案在mysql安裝目錄,例如我的是:c:\programdata\mysql\mysql server 5.6\my.ini)
搜尋lower_case_table_names,將其改為lower_case_table_names=1
3、重啟資料庫
ps:lower_case_table_names=0 表示對錶名大小寫敏感
lower_case_table_names=1 表示對大小寫不敏感
windows預設為1。
拓展下:
linux:
一、編輯配置檔案
vi /etc/my.cnf
在[mysqld]下面新增lower_case_table_names=1
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
lower_case_table_names=1
二、重新啟動資料庫
systemctl restart mariadb
Linux下MySQL預設對錶名區分大小寫
有個專案部署到伺服器上,日誌裡老是提示找不到表。原來linux下mysql預設對錶名區分大小寫。解決方法 一 規範 表名全部大寫 二 修改mysql配置,使表名全部自動轉為小寫。1.用root登入,修改 etc my.cnf 2.在 mysqld 下加入一行 lower case table nam...
windows mysql 忘記密碼
mysql 版本 5.1 1 首先檢查mysql服務是否啟動,若已啟動則先將其停止服務,可在開始選單的執行,使用命令 net stop mysql 開啟第乙個cmd視窗,切換到mysql的bin目錄,執行命令 mysqld defaults file c program files mysql my...
windows mysql常用配置
mysql 設定mysql客戶端預設字符集 default character set utf8 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir g mysql 設定 mysql資料庫的資料的存放目錄,mysql 8 不需要以下配置,系統自己生成即可,否則...