本文目的
使用mysql遇到並解決了一些問題,在這裡記錄與分享。
問題1:linux源**安裝mysql時,預設不安裝innodb儲存引擎,需要手動安裝
如果忘記手動安裝innodb,那麼任何表建立時,如果儲存引擎指定為innodb,mysql會預設選擇myisam作為儲存引擎,並且不報錯也不警告,這樣就有可能將問題掩飾了。因為有些業務邏輯,可能是依賴外來鍵約束實現的,myisam儲存引擎不支援外來鍵約束,那麼這些業務邏輯實現起來就會有問題。
問題2:mysqldump匯出的sql檔案是按照表的字母順序排序而不是依賴關係排序
由於按照字母順序排序,很容易破環資料庫表之間原有的依賴順序,那麼在匯入資料時會破壞外來鍵依賴約束而報錯。所以,在匯入資料時,需要關閉外來鍵約束,匯入完畢後再開啟。這樣匯入的速度也會更快。如下面的列子:
1
2
3
set
foreign_key = 0;
//
close foreign key constraint
//
import
your data
set
foreign_key = 1;
//
open
foreign 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...