部署專案遇到的mysql問題以及解決方法

lsj1992g發表於2019-03-15

部署專案遇到的mysql問題以及解決方法

1、資料庫報錯: Expression #1 of ORDER BY clause is not in SELECT list, references column ‘oss_web.i.create_date’ which is not in SELECT list; this is incompatible with DISTINCT
 
 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複製程式碼

相關文章