解決mysql登陸報錯:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

今天在安裝一個壓縮包mysql-5.7.19時,碰到了一系列問題,現將這些問題羅列出來:html

一.  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時,出現這個問題:mysql

在網上搜索資料,查到https://blog.csdn.net/lianzhang861/article/details/78919060,解決方案是: mysqld --install, 安裝完net start mysql
sql

二.  發生系統錯誤 2.  系統找不到指定的文件

這下又貌似行不通了,https://jingyan.baidu.com/article/4e5b3e19245cec91901e24bc.html,這個答案告訴咱們要修改註冊表工具

HKEY_LOCAL_MACHINE編碼

  SYSTEMspa

    CurrentControlSet.net

      services3d

        MySQLcode

          ImagePathserver

個人默認值是C:\Program Files\MySQL\MySQL Server 5.7\mysqld,找到該路徑,並無發現有MySQL文件,咱們將它改成D:\Program\mysql-5.7.19-winx64\bin\mysqld,這個是我真正安裝MySQL的路徑,來,再試一下

瞬間尷尬了,咱們找到控制面板--管理工具--服務,決定去啓動它時,發現:

三.  服務沒有任何錯誤。 請鍵入 NET HELPMSG 3534 以得到更多的幫助

感謝此文做者http://www.javashuo.com/article/p-suazustg-bk.html,讓我迷途知返,因爲個人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

哎,這時候才能夠了,看了我一個多小時,之後仍是少用壓縮版。

相關文章
相關標籤/搜索