MySQL數據庫安裝常見報錯解決方案彙總【樂搏TestPRO】

隨着軟件測試市場企業需求,測試工程師不止侷限在功能層面,還涉及到更廣泛、更深層次的需要,比如接口、性能、自動化、安全等,而這些測試常常需要藉助數據庫來協助定位Bug、做數據校驗等。作爲一個重要的測試輔助工具,也是先階段軟件測試工程師必學的技能。

學習數據庫的第一步,當然是環境的配置安裝,然鵝,數據庫的安裝配置相對來說不是那麼簡單。在搭建使用過程中,總會遇到各種各樣的報錯,今天就針對常用數據庫MySQL的常見問題進行彙總及解決方案梳理。非常使用,記得收藏喔!(同時,我們還有MySQL安裝包和安裝視頻資料,如果需要,文末可領取

 


常見問題1: 二次安裝時配置文件安裝不成功。

問題描述:如下圖中的選項出現爆紅。

 

解決方案:發生該報錯的原因一般是第一安裝的MySQL未卸載清理乾淨導致。解決方案是重新卸載清理MySQL。關於如何徹底清理MySQL數據庫,以下文章有詳細解釋:

如何徹底清理卸載MySQL

常見問題2:端口被佔用

問題描述:如下圖的步驟中,如果填寫MySQL默認端口3306,出現感嘆號標識,且next按鈕無法啓用的話,說明端口被佔用,需要替換一個端口。

解決方案:把端口替換成非3306,如3307、3308等。

常見問題3:編碼集未修改

問題描述:MySQL安裝的默認編碼集是Latin文,如果在安裝過程中沒有修改成utf-8,則在後續使用中,對於中文數據,會出現亂碼現象。

 

解決方案:

1. 修改數據庫字符集(ps:修改完數據庫字符集,需要重啓mysql數據庫。):

alter database 數據庫名 charactersetutf8mb4;

2. 修改表字符集:

ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

3. 生成所有表修改字符集語句:

SELECT TABLE_NAME,CONCAT('ALTER TABLE ',TABLE_NAME,' DEFAULT CHARACTER SET ',a.DEFAULT_CHARACTER_SET_NAME,' COLLATE ',a.DEFAULT_COLLATION_NAME,';') executeSQL FROM information_schema.SCHEMATA a,information_schema.TABLES b WHERE a.SCHEMA_NAME=b.TABLE_SCHEMA AND a.DEFAULT_COLLATION_NAME!=b.TABLE_COLLATION  AND b.TABLE_SCHEMA='數據庫名'

4. 修改列字符集

ALTER TABLE 表名 CHANGE 列名 列名 VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

5. 修改數據庫配置my.cnf

[client]default-character-set = utf8mb4

[mysql]default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

常見問題4:安裝報錯需要visual studio

問題描述:出現 “This application requires Visual Studio 2013 Redistributable. Please install the Redistributable then run this installer again.”,如下圖

解決方法 :到https://www.microsoft.com/zh-CN/download/details.aspx?id=40784下載 vcredist_x64或vcredist_x86插件更新VC++ 2013。

常見問題5:MySQL安裝完成後啓動失敗

問題描述:net start mysql出現“發生系統錯誤 5 拒絕訪問”。

解決方案:將控制檯切換到管理員模式

常見問題6:啓動MySQL顯示服務器無效

問題描述:MySQL安裝完成後啓動失敗net start mysql 出現 “服務名無效” 錯誤。

 

解決方案:運行 services.msc 查看系統服務名稱,有可能是服務名寫錯了。查看後再運行 net start 服務名 即可。

常見問題7:數據庫連接報錯1862

問題描述:如下圖

 

解決方案

1. 關閉正在運行的MySQL服務。

2. 打開DOS窗口,轉到mysql\bin目錄。

3. 輸入mysqld –skip-grant-tables 回車。–skip-grant-tables 的意思是啓動MySQL服務的時候跳過權限表認證

4. 再開一個DOS窗口(因爲剛纔那個DOS窗口已經不能動了),轉到mysql\bin目錄。

5. 輸入mysql回車,如果成功,將出現MySQL提示符 >。

6. 連接權限數據庫: use mysql; 。

6. 改密碼:update user set authentication_string=password(“123”) where user=”root”;(別忘了最後加分號) 。

7. 刷新權限(必須步驟):flush privileges; 。

8. 退出 quit。

常見問題8:不能連接到localhost 上的mysql

問題描述:報錯信息爲Can't connect to MySQL server on 'localhost'(10061),即不能連接到localhost 上的mysql。說明“localhost”計算機是存在的,但在這臺機器上卻沒提供MySQL服務。需要啓動這臺機器上的MySQL服務,如果機子負載太高沒空相應請求也會產生這個錯誤。

解決方案:既然沒有啓動那就去啓動這臺機子的mysql。如果啓動不成功,多數是因爲你的my.ini配置的有問題。重新配置其即可。?如果覺得mysql負載異常,可以到mysql/bin 的目錄下執行mysqladmin-uroot -p123 processlist來查看mysql當前的進程。

常見問題9:用戶root 訪問 localhost 被拒絕

問題描述:報錯信息是Access denied for user:'roota@localhost' (Using password: YES),即用戶root 訪問 localhost 被拒絕(沒有允許通過)造成這個錯誤一般數據庫用戶名和密碼相對mysql服務器不正確

解決方案:仔細檢查自己論壇下面的 ./config.inc.php 找到$dbuser、$dbpw覈實後重新設置保存即可。

常見問題10: 不能連接到localhost 上的mysql 

問題描述報錯信息是Error: Can't connect tolocal MySQL server through socket '/var/lib/mysql/mysql.sock'?error.:2002。出現這個錯誤一般情況下是因爲下面兩個原因:1.MySQL 服務器沒有開啓。
2.MySQL 服務器開啓了,但不能找到 socket 文件。

解決方案

1.虛擬主機用戶,請聯繫空間商確認數據庫是否正常啓動。

2.獨立主機用戶,請檢查一下 MySQL 服務是否已經開啓,沒有開啓,請啓動MySQL 服務;如果已經開啓,並且是 Linux 系統,請檢查一下MySQL 的 socket 的路徑,然後打開 config.inc.php 找到$dbhost = 'localhost'; 在hostname 後面加冒號‘:'和 MySQL 的socket 的路徑。比如MySQL 服務器爲 localhost?MySQL的 socket 的路徑爲 /tmp/mysql.sock?那麼就改成如下:?$dbhost= 'localhost:/temp/mysql.sock';


看到這裏,如果你有一顆想要順利進階,升職加薪的❤️不妨參與我們的軟件測試一週集訓吧!可以後臺私信我,也可以進入qun :⑥③⑥⑧⑤⑨⑨⑥④,獲取更多諮詢哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章