mysql使用中遇到的問題

2021-07-28 04:55:08 字數 1528 閱讀 1687

問題一:

第一次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...