今天在安裝一個壓縮包mysql-5.7.19時,碰到了一系列問題,現將這些問題羅列出來:
一. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
解壓后,把"D:\Program\mysql-5.7.19-winx64\bin"配置到環境變量path下,在cmd中執行登錄操作: mysql -u root -p時,出現這個問題:
在網上搜索資料,查到https://blog.csdn.net/lianzhang861/article/details/78919060,解決方案是: mysqld --install, 安裝完net start mysql
二. 發生系統錯誤 2. 系統找不到指定的文件
這下又貌似行不通了,https://jingyan.baidu.com/article/4e5b3e19245cec91901e24bc.html,這個答案告訴我們要修改注冊表
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
services
MySQL
ImagePath
我的默認值是C:\Program Files\MySQL\MySQL Server 5.7\mysqld,找到該路徑,並沒有發現有MySQL文件,我們將它改為D:\Program\mysql-5.7.19-winx64\bin\mysqld,這個是我真正安裝MySQL的路徑,來,再試一下
瞬間尷尬了,我們找到控制面板--管理工具--服務,決定去啟動它時,發現:
三. 服務沒有任何錯誤。 請鍵入 NET HELPMSG 3534 以獲得更多的幫助
感謝此文作者https://blog.csdn.net/yulutian/article/details/78971369,讓我迷途知返,由於我的mysql根目錄下沒有data目錄和my.ini配置文件,於是新建了一個my.ini,內容為:
注意:這里面要提一句,basedir=后面是你安裝的mysql的bin目錄所在的路徑!
[mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] #設置3306端口 port = 3306 # 設置mysql的安裝目錄 basedir=D:\\Program\mysql-5.7.19-winx64 # 允許最大連接數 max_connections=200 # 服務端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB
好,這下子我們按照作者說的,不要新建data目錄,而是讓mysql自動生成,在cmd中執行
這下看似好了,實際還有一個問題
四. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes)
參照這篇文章https://blog.csdn.net/keepd/article/details/77151006,找到一個方法,就是在my.ini配置文件中最后一行添加:
skip-grant-tables
保存,然后在cmd中執行
登錄musql mysql -u root 此處注意不要加-p 修改密碼,mysql5.7用此語法 use mysql ; update mysql.user set authentication_string=password('123456') where user='root' ; 回到第二步驟去掉加上的,保存 skip-grant-tables
退出
exit
重啟mysql服務
net stop mysql
net start mysq
哎,這時候才可以了,看了我一個多小時,以后還是少用壓縮版。