問題一:
第一次mysql啟動服務失敗,未返回報錯資訊
解決方法:
執行 mysqld -console命令,檢視error資訊,對症下藥
但一般情況下,主要是因為mysql目錄下的data資料夾中內容不正確,解決方法有以下兩個
1.在開啟服務前執行初始化命令
mysqld --initalize
然後啟動服務
將壓縮包解壓後裡面的data資料夾複製到當前mysql所在資料夾根目錄中
然後啟動服務
無論是第乙個操作還是第二個操作,記得先關掉服務在操作,操作完了再開啟服務
問題二:
mysql缺少performance_schema.session系統表導致各類問題
解決方法:
使用以下兩個命令後重啟服務(windows下關閉再開啟)
mysql_upgrade -u root -p
mysql_upgrade -u root -p --force
問題三:
在mysql中插入資料時使用中文報錯,error code: 1366. incorrect string value。
解決方法:
需要完成以下幾步,若第一無法完成可先跳過,只影響資料庫中已有內容,但是為了保證新的資料庫、資料表可寫中文,第二三步一定要正確。
1.設定mysql的編碼,統一改為utf8(因為utf8是相容性比較強的編碼,如果需要使用其他語言也可以修改為其他的編碼)
開啟mysql的根目錄,
新建檔案my.ini然後將my-default.ini中內容複製到my.ini然後刪除my-default.ini檔案,
在my.ini檔案的[mysqld]部分下面加乙個語句character_set_server=utf8,
隨後關閉mysql服務再啟動mysql服務。
登陸進入mysql後,別選擇任何資料庫,直接使用\s命令檢視字符集編碼,檢視server這一項的編碼是否為utf8,如果是的話就算成功
剩下的client和conn應該預設為gbk,如果不是的話可以再網上搜一搜設定辦法
至於db的編碼,其實是和資料庫有關的,當最開始連線入mysql時,其實是選擇了sys資料庫(預設的系統資料庫),等做了下面的第二步後再選擇其他資料庫之後再使用\s命令,你們就會發現區別。
2.在新建資料庫時,將資料庫設定為utf8編碼
做了這一步,你就會發現你剛建立的資料庫的db字符集編碼一定是utf8,也保證了你新建的資料庫可以輸入中文。
具體如下
create database 資料庫名字 character set 'utf8';
3.如果資料庫的編碼未設定,而你還是想輸入中文,那麼你需要在新建資料表的時候對錶的編碼進行設定
如下**段,建立多個字段,使用character set 'utf8'**把表中的所有字段改為utf8格式
create table 表名稱 (
一大堆字段
)character set 'utf8';
以上步驟盡量在mysql安裝配置的時候就完成,避免不必要的麻煩,或者至少完成第二第三步。
使用mysql遇到的問題
1.幻讀。很多書和blog都提到mysql 的 tx isolate 事務隔離 為repeatable read.並且mysql做了next key lock的事情防止幻讀。但是如果你直接在事務中使用 select from table 這還是會有幻讀發生。只有你在select語句中加入鎖才能防止幻...
mysql使用遇到的問題
1 開啟linux視窗,啟動mysql。2 連線mysql輸入show variables like character 出現如下圖,這樣的話在linux下操作mysql會出現中文亂碼,所以我們要解決這個問題。3 關閉mysql,找到 etc mysql mysql.conf.d mysqld.cn...
Django中遇到的mysql問題
最近在用django寫個 連線mysql的時候出現了幾個問題,總結一下 寫好setting.py和models.py後,syncdb都沒什麼問題,在測試後台發表文章的時候就出錯了,本來是測試markdown的與codelite 高亮,發現發表後debug模式就報錯 error warning inc...