部署專案遇到的mysql問題以及解決方法
1、資料庫報錯: Expression
mysql資料庫升級到5.7X以上後,不在支援 DISTINCT 要麼修改sql程式碼要麼修改mysql配置檔案:
vi /etc/my.cnf
在 [mysqld] 和 [mysqld] 與 [mysqld_safe] 之間新增下面一行
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
重啟mysql
service mysqld restart
2、window下mysql預設表名不區分大小寫,所以在程式中寫表名大小寫都能實現。linux系統下mysql表名區分大小寫。所以要麼程式中寫正確,要麼修改mysql配置
vi /etc/my.cnf
在 [mysqld] 和 [mysqld] 與 [mysqld_safe] 之間新增下面一行
lower_case_table_names=1
重啟mysql
service mysqld restart
linux下mysql資料庫表名區分大小寫導致系統報錯
vi /etc/my.cnf
在 [mysqld] 後 加上 lower_case_table_names=1
儲存退出,重啟mysql
service mysqld restart
linux下mysql資料庫預設連結數過小,沒有及時把mysql連結釋放調導致mysql連結數量過多報錯
vi /etc/my.cnf
max_connections=1000
max_user_connections=500
wait_timeout=200
儲存退出,重啟mysql
service mysqld restart
linux下mysql預設安裝碟符空間太小,手動修改mysql配置檔案來修改資料庫儲存位置。
mkdir /usr/local/mysql
暫停mysql
service mysqld stop
vi /etc/my.cnf
新增下面配置:
datadir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
儲存退出,將原來mysql安裝位置的檔案全部拷貝到新建的檔案目錄下
重啟mysql
service mysqld restart複製程式碼