mysql數據庫報錯的解決方法(數據庫錯誤怎麼解決)

本文目錄一覽:

為什麼安裝mysql數據庫報錯

我遇到同樣的錯誤,折騰了好久才摸索出來。網上的解決辦法都試過了,沒有確實可行的。最終總結出來,終於解決了。

我的下載的是mysql-5.7.9綠色版出的問題。最終解決過程供你參考:

1、下載的mysql-5.7.9,出現你的問題。試了各種辦法無法解決。有網友說mysql-5.7.9版本有問題。我改下載了5.6.27版本,嘗試不成功。但報錯變為:無法啟動mysql服務,發生錯誤1067。解決辦法:my.ini 添加 tmpdir = D:\mysql-5.6.27-winx64\data。問題解決。

2、後來我對比了mysql-5.7.9與5.6.27,發現mysql-5.7.9-winx64沒有data目錄,mysql-5.6.27-winx64\data\mysql,存了不少數據文件。原來調試5.7.9的版本時,記得日誌報告一直有mysql.user、mysql.plugin不存在的提示。(原以為這些文件會自動生成)。後來把這個mysql-5.6.27-winx64\data下的mysql文件夾整個複製到5.7.9版本中的同目錄下。問題解決。

MySQL數據庫出錯

如果從庫上表 t 數據與主庫不一致,導致複製錯誤,整個庫的數據量很大,重做從庫很慢,如何單獨恢復這張表的數據?通常認為是不能修復單表數據的,因為涉及到各表狀態不一致的問題。下面就列舉備份單表恢復到從庫會面臨的問題以及解決辦法:

場景 1

如果複製報錯後,沒有使用跳過錯誤、複製過濾等方法修復主從複製。主庫數據一直在更新,從庫數據停滯在報錯狀態(假設 GTID 為 aaaa:1-100)。

修復步驟:

在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000);

恢復到從庫;

啟動複製。

這裡的問題是複製起始位點是 aaaa:101,從庫上表 t 的數據狀態是領先其他表的。aaaa:101-10000 這些事務中只要有修改表 t 數據的事務,就會導致複製報錯 ,比如主鍵衝突、記錄不存在(而 aaaa:101 這個之前複製報錯的事務必定是修改表 t 的事務)

解決辦法:啟動複製時跳過 aaaa:101-10000 這些事務中修改表 t 的事務。

正確的修復步驟:

1. 在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000),恢復到從庫;

2. 設置複製過濾,過濾表 t:

CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = (‘db_name.t’);

3. 啟動複製,回放到 aaaa:10000 時停止複製(此時從庫上所有表的數據都在同一狀態,是一致的);

START SLAVE UNTIL SQL_AFTER_GTIDS = ‘aaaa:10000’;

4. 刪除複製過濾,正常啟動複製。

注意事項:這裡要用 mysqldump –single-transaction –master-data=2,記錄備份快照對應的 GTID

場景 2

如果複製報錯後,使用跳過錯誤、複製過濾等辦法修復了主從複製。主、從庫數據一直在更新。

修復步驟:

在主庫上備份表 t (假設備份快照 GTID為 aaaa:1-10000);

停止從庫複製,GTID為 aaaa:1-20000;

恢復表 t 到從庫;

啟動複製。

這裡的問題是複製起始位點是 aaaa:20001,aaaa:10000-20000 這些事務將不會在從庫上回放,如果這裡面有修改表 t 數據的事務,從庫上將丟失這部分數據。

解決辦法:從備份開始到啟動複製,鎖定表 t,保證 aaaa:10000-20000 中沒有修改表 t 的事務。

正確修復步驟:

對錶 t 加讀鎖;

在主庫上備份表 t;

停止從庫複製,恢復表 t;

啟動複製;

解鎖表 t。

如果是大表,這裡可以用可傳輸表空間方式備份、恢復表,減少鎖表時間。

Mysql數據庫插入數據庫報錯, ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name

“ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name”,此問題的原因:配置文件錯誤。

解決的方法和操作步驟如下:

1、首先,右鍵單擊開始圖標,然後在菜單上選擇“運行”選項,如下圖所示,然後進入下一步。

2、其次,完成上述步驟後,在輸入框中輸入“cmd”命令,然後單擊“確定”按鈕,如下圖所示,然後進入下一步。

3、接着,完成上述步驟後,輸入“mysql -uroot -p+密碼”,如下圖所示,然後進入下一步。

4、然後,完成上述步驟後,連接成功,輸入如下紅框中的內容,然後進入下一步。

5、隨後,完成上述步驟後,查找配置文件所在的地址,如下圖所示,然後進入下一步。

6、最後,完成上述步驟後,打開mysql.ini文件,將默認字符集修改為“utf8”,因為MYSQL版本不同,配置文件中的內容也不相同,只需要修改字符集設置並將其修改為utf8即可,如下圖所示。這樣,問題就解決了。

原創文章,作者:SGNF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/136876.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SGNF的頭像SGNF
上一篇 2024-10-04 00:16
下一篇 2024-10-04 00:16

相關推薦

發表回復

登錄後才能評論