【MySQL】常見錯誤與常用命令的集錦
阿新 • • 發佈:2019-01-26
【背景介紹】
在使用SQL Server資料庫期間,想必大家一定都有過解決各種問題的經歷了,很多時候,都會在大家的部落格中看到問題與解決方案。現在開發使用的是MySQL資料庫,現在來看,發現自己在MySQL中的經歷越來越多。前兩天,自己電腦的MySQL資料庫出問題了,折騰了我好幾個小時~~
這篇部落格就將把之前遇到的和這次遇到的錯誤記錄下來,以後也可以更好更快的找到解決辦法吧。
【常見錯誤】
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改為 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 此後,我也成功建立了使用者。
這兩個問題解決了,我在學習網上商城的時候也就一切順利。
但前兩天,重啟電腦後,資料庫又出現了下面的一系列問題了。
但將my.ini檔案刪除後,一直出現1045的錯誤,就這樣,兩個問題好像死迴圈了,一直都解決不了。無奈之下,解除安裝了mysql,重新安裝了一次。 在這裡解除安裝/安裝的過程就不說了,下面繼續看幾個遇到的MySQL的錯誤:
很多情況下,都遇到1045的錯誤,在查資料的過程中,發現普遍的原因有以下兩點:
1.可能是mysql使用者表中存在不完整的記錄; 2.可能是沒有給mysql使用者表中的使用者授予許可權。
因為mysql資料庫不像sql server資料庫那樣,可以在視覺化的介面進行操作,在mysql中,各種操作都是需要通過各種命令去完成的,下面,就總結一些常用的命令,以便提高後期的工作效率。
net start mysql
show tables;
drop database dbName;
1.資料庫的備份很重要。因為不知道什麼時候,什麼原因,自己的資料庫就不能用了,等到發生了,後悔也來不及了。 2.沒有什麼解決不了的問題,最壞的辦法也就是重頭再來。遇到問題了,第一次感覺還好,但遇到了一些沒在自己意料之中的問題,遇到了以前的解決方案不再適用這一次的問題,心情就有些不一樣了。最後,我還是自己把資料庫給弄好了,事實證明,不要放棄,最壞的辦法也就是重頭再來。
3.學習是一個漫長的、不斷補充、不斷積累的過程。實際上,解決中文亂碼的問題是後來補充的,因為一直都在使用mysql,一直處在不斷學習地過程中,後面的學習或者偶爾的遇見,才使得自己把之前的問題解決了,所以,學習前後是一個互為補充的階段。
- (1) windows mysql提示:1045 access denied for user'root'@'localhost' using password yes
這個問題就解決了,在加上這個檔案後,我嘗試建立新使用者,又出現了一個新的問題。# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. basedir = E:\MySQL\mysql-5.6.24-winx64 datadir = E:\MySQL\mysql-5.6.24-winx64\data # port = 8099 # server_id = sa # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" skip-grant-tables default-character-set=utf8
- (2) ERROR 1364(HY000):Field 'ssl_cipher' doesn't have a default value
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改為 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 此後,我也成功建立了使用者。
這兩個問題解決了,我在學習網上商城的時候也就一切順利。
- (3) 啟動MySQL服務,出現錯誤1067:
但將my.ini檔案刪除後,一直出現1045的錯誤,就這樣,兩個問題好像死迴圈了,一直都解決不了。無奈之下,解除安裝了mysql,重新安裝了一次。 在這裡解除安裝/安裝的過程就不說了,下面繼續看幾個遇到的MySQL的錯誤:
- (4) 2003-Can't connect to MySQL server on 'localhost'(10061)
- (5) Host "localhost" is not allowed to connect to mysql server
- (6) Access denied for user 'root'@'localhost' (using password:YES)
- (7) 中文亂碼問題
亂碼原因: 上圖是我在檢查上面兩條資訊的結果,很明顯,所連線的資料庫設定的字符集為latin1,所以,匯入資料的時候就變成亂碼了。 解決方案: 用Navicat軟體開啟對應的資料庫,將其資料庫屬性的字符集設定為utf8. 【錯誤總結】big5 | Big5 Traditional Chinesegb2312 | GB2312 Simplified Chinesegbk | GBK Simplified Chineseutf8 | UTF-8 Unicode
很多情況下,都遇到1045的錯誤,在查資料的過程中,發現普遍的原因有以下兩點:
1.可能是mysql使用者表中存在不完整的記錄; 2.可能是沒有給mysql使用者表中的使用者授予許可權。
因為mysql資料庫不像sql server資料庫那樣,可以在視覺化的介面進行操作,在mysql中,各種操作都是需要通過各種命令去完成的,下面,就總結一些常用的命令,以便提高後期的工作效率。
- 服務啟動與停止
net start mysql
- 登入mysql
- 顯示資料庫列表
- 選擇資料庫和顯示資料表
show tables;
- 建庫、刪庫
drop database dbName;
- 備份
- 還原
1.資料庫的備份很重要。因為不知道什麼時候,什麼原因,自己的資料庫就不能用了,等到發生了,後悔也來不及了。 2.沒有什麼解決不了的問題,最壞的辦法也就是重頭再來。遇到問題了,第一次感覺還好,但遇到了一些沒在自己意料之中的問題,遇到了以前的解決方案不再適用這一次的問題,心情就有些不一樣了。最後,我還是自己把資料庫給弄好了,事實證明,不要放棄,最壞的辦法也就是重頭再來。
3.學習是一個漫長的、不斷補充、不斷積累的過程。實際上,解決中文亂碼的問題是後來補充的,因為一直都在使用mysql,一直處在不斷學習地過程中,後面的學習或者偶爾的遇見,才使得自己把之前的問題解決了,所以,學習前後是一個互為補充的階段。