MySQL使用總結 持續更新中

2021-09-22 06:30:13 字數 1222 閱讀 6639

本文目的

使用mysql遇到並解決了一些問題,在這裡記錄與分享。

問題1:linux源**安裝mysql時,預設不安裝innodb儲存引擎,需要手動安裝

如果忘記手動安裝innodb,那麼任何表建立時,如果儲存引擎指定為innodb,mysql會預設選擇myisam作為儲存引擎,並且不報錯也不警告,這樣就有可能將問題掩飾了。因為有些業務邏輯,可能是依賴外來鍵約束實現的,myisam儲存引擎不支援外來鍵約束,那麼這些業務邏輯實現起來就會有問題。

問題2:mysqldump匯出的sql檔案是按照表的字母順序排序而不是依賴關係排序

由於按照字母順序排序,很容易破環資料庫表之間原有的依賴順序,那麼在匯入資料時會破壞外來鍵依賴約束而報錯。所以,在匯入資料時,需要關閉外來鍵約束,匯入完畢後再開啟。這樣匯入的速度也會更快。如下面的列子:

1

2

3

setforeign_key = 0;//close foreign key constraint

//importyour data

setforeign_key = 1;//openforeign key constraint

問題3:mysql全文檢索不支援特殊字元,如「c++」,「c#」

根據官方論壇解釋,mysql全文檢索不支援特殊字元的索引,可以參考下面兩個鏈結的內容:

解決方案:

1 搜尋和檢索時,對特殊字元轉換成可以作為縮影的字串,如「+」轉成」_plus「等。工作量較大

2 將ft_min_word_len設定為1,然後修復索引,參見

這裡。這樣通過檢索」c「就可以檢索到」c#「和」c++「,工作量較小,但是結果不準確。

問題4:can't connect to local mysql server through socket '/tmp/mysql.sock'

原因:由於啟用了另乙個mysqld例項,但是配置沒有寫正確,導致對原來的mysqld例項造成了影響

解決方法:找到mysqld(我的是/etc/init.d/init.d/mysqld),kill掉當前所有myslqd程序,啟動mysqld,問題解決!

MySQL使用總結 持續更新中

本文目的 使用mysql遇到並解決了一些問題,在這裡記錄與分享。問題1 linux源 安裝mysql時,預設不安裝innodb儲存引擎,需要手動安裝 如果忘記手動安裝innodb,那麼任何表建立時,如果儲存引擎指定為innodb,mysql會預設選擇myisam作為儲存引擎,並且不報錯也不警告,這樣...

mysql語法總結(持續更新中)

由於現在的公司用mysql居多,而我也從oracle轉到mysql,雖然說語法差不多,但是,還是有必要記錄下 1.建立資料庫名 create database 資料庫名 2.刪除資料庫 drop database 資料庫名 3.建表 create table t combo fid int 11 n...

MySQL問題總結(持續更新)

1.新增新使用者 準備建立乙個新使用者的時候報錯了 create user username identified by password the mysql server is running with the skip grant tables option so it cannot execu...