Can't connect to MySQL server on 'localhost' (10061)解決方法,需要的朋友可以參考下。
首先檢查MySQL 服務(wù)沒有啟動》如果沒有啟動,則要啟動這個服務(wù)。
昨天,重起服務(wù)器后出現(xiàn)MySQL 'localhost' (10061)錯誤,開始以為是因為數(shù)據(jù)庫鏈接打開過多,數(shù)據(jù)庫資源耗盡的緣故,但是重啟服務(wù)器以后,仍舊出現(xiàn)問題,于是在網(wǎng)上查找解決方法。大體如下:
解決辦法:
第一步
刪除c:\windows\下面的my.ini
第二步
打開c:\mysql\bin\winmysqladmin.exe 輸入用戶名 和密碼
第三步 在dos下 輸入 mysqld-nt -remove 刪除服務(wù)
在接著輸入 mysqld-nt -install
第四步 輸入mysql 啟動成功。
其它可參考的方法:
1.看看hosts文件中l(wèi)ocalhost是不是指向127.0.0.1
2.如果是沒啟動mysql服務(wù),則可運行net start mysql。
3.一些相關(guān)命令:
mysqld-nt --install #啟動Mysql mysql #運行Mysql mysql -h ipAddress -u username -p或者:直接去bin里點mysqld.exe或mysqld-nt.exe,看下它的進程能否正常運行,如不行,再去控制面板,服務(wù)里去啟動它,看下是什么錯誤。如果不行,就在添加刪除里刪去mysql,然后再重裝mysql,一般都能解決問題,可以在安裝前備份一下DATA。
Error: Can't connect to MySQL server on 'localhost' (10061)
Errno.: 2003
錯誤編號:2003
問題分析:
無法連接到 MySQL 服務(wù)器,可能的情況為:
1、MySQL 服務(wù)沒有啟動,一般是在異常的情況下 MySQL 無法啟動導(dǎo)致的,比如無可用的磁盤空間,my.ini 里 MySQL 的 basedir 路徑設(shè)置錯誤等;
2、MySQL 服務(wù)器資源緊張,導(dǎo)致無法連接。
解決方法:
1、如果你是虛擬主機用戶(購買的空間),則聯(lián)系空間商檢查 MySQL 是否正常啟動,并確認 MySQL 的配置信息(是否為 localhost);
2、如果你是獨立主機用戶(擁有管理主機權(quán)限),則按下面步驟檢查:
1)檢查磁盤空間是否還有剩余可用空間,盡量保持有足夠的磁盤空間可用。
2)檢查 my.ini 里的 basedir (MySQL 安裝地址) 和 datadir (數(shù)據(jù)目錄存放地址)等參數(shù)設(shè)置是否正確,然后重新啟動下 MySQL 服務(wù)。
還有一種方法是將服務(wù)器的windows補丁。
微軟9月9日發(fā)布了TCP/IP更新補?。↘B967723),如果服務(wù)器開啟自動更新或者有自動更新軟件下載更新了這個補丁,那么就會出現(xiàn)這個問題。
有人可能會問,為什么9號出現(xiàn)的補丁,到現(xiàn)在才發(fā)現(xiàn)問題?
大家都知道,服務(wù)器不是每天都重啟的,有的服務(wù)器可能一個月或者一年半載重啟一次,有的可能在9月9日以后重啟過服務(wù)器,所以補丁生效了(我個人這么認為)。
補丁卸載方法:登錄服務(wù)器,進入控制面板 --- 添加和刪除程序 -- (勾選上方的“顯示更新”)
在里面可以看到更新的KB967723這個補丁,然后就想卸載普通軟件一樣卸載,卸載中會提示你,如果卸載可能導(dǎo)致程序運行出錯,沒關(guān)系,選擇“是”,繼續(xù)卸載。
卸載完成后程序服務(wù)器,一切正常!
至于該補丁修補什么漏洞,卸載后是否會出現(xiàn)服務(wù)器安全隱患,這個先不說,要MYSQL正常運行,臨時的解決辦法只有如此。
還有種情況下,你可以這樣解決
Discuz! info: Can not connect to MySQL server
Time: 2007-11-13 6:25pm
Script: /bbs/index.php
Error: Can't connect to MySQL server on 'localhost' (10061)
Errno.: 2003
Similar error report has beed dispatched to administrator before.
正常情況下原因如下:
網(wǎng)站論壇訪問量過大,數(shù)據(jù)庫連接超過最大連接數(shù).MYSQL數(shù)據(jù)庫服務(wù)停止了.
解決方法(針對WIN系統(tǒng)):
1, 首先到系統(tǒng)服務(wù)里面找到MYSQL服務(wù)并啟動MYSQL服務(wù).
2, 到MYSQL安裝目錄找到MY.INI文件,打開MY.INI查找max_connections 修改連接數(shù)為1000 重啟IIS與MYSQL服務(wù).
window 下
命令行下輸入:
>cd E:\mysql\bin >mysqladmin -u root password 你的密碼 >mysql -u root -p Enter password: 你的密碼便可以
、、、、、、、、、、、、、、、、、
找到了根本原因,在此涼一下:
導(dǎo)致此問題的根源在:因為給mysql的root設(shè)置了密碼,而不是最初安裝好時的密碼為空,所以使用
mysqladmin version這樣子不行了,必須這樣子:mysqladmin -uroot -p version,回車后按照提示要求輸入
root密碼即可成功運行命令。
第一種方法其實就是在不知道root密碼的情況下的一種解決辦法,那樣子啟動不用密碼即可進mysql
里面并進行root密碼的修改,解決忘記了root密碼的問題。
輸入命令“mysqladmin -u root password 你的密碼”作用是修改root用戶的密碼,這條命令能夠不經(jīng)
提示輸入原密碼而成功執(zhí)行,也說明了原密碼是空。之后使用修改后的密碼自然能夠成功登錄。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。怎么更改密碼?
首先要聲明一點,大部分情況下,修改MySQL是需要有mysql里的root權(quán)限的,所以一般用戶無法更改密碼
,除非請求管理員。
方法一
使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
不過別忘了使用PASSWORD函數(shù)。
方法二
使用mysqladmin,這是前面聲明的一個特例。
mysqladmin -u root -p password mypasswd輸入這個命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。
把命令里的root改為你的用戶名,你就可以改你自己的密碼了。
當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執(zhí)行mysqladmin,
那么這種方法就是無效的。
而且mysqladmin無法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限:
方法三
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。
在《mysql中文參考手冊》里有這個例子,所以我也就寫出來了。
注意要使用PASSWORD函數(shù),然后還要使用FLUSH PRIVILEGES。
方法四
和方法三一樣,只是使用了REPLACE語句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
方法五
使用SET PASSWORD語句,
mysql> SET PASSWORD FOR " = PASSWORD('biscuit');
擬也必須使用PASSWORD()函數(shù),
但是不需要使用FLUSH PRIVILEGES。
方法六
使用GRANT ... IDENTIFIED BY語句
mysql> GRANT USAGE ON *.* TO " IDENTIFIED BY 'biscuit';
這里PASSWORD()函數(shù)是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。
MySQL 忘記口令的解決辦法
如果 MySQL 正在運行,首先殺之: killall -TERM mysqld。
啟動 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密碼就進入 MySQL 了。
然后就是
>use mysql >update user set password=password("new_pass") where user="root"; >flush privileges;重新殺 MySQL ,用正常方法啟動 MySQL 。
linux下
方法一:
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: <輸入新設(shè)的密碼newpassword> mysql>方法二:
直接使用/etc/mysql/debian.cnf文件中[client]節(jié)提供的用戶名和密碼:
# mysql -udebian-sys-maint -p Enter password: <輸入[client]節(jié)的密碼> mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # mysql -uroot -p Enter password: <輸入新設(shè)的密碼newpassword> mysql>
方法三:
# mysql -uroot -p Enter password: <輸入/etc/mysql/debian.cnf文件中[client]節(jié)提供的密碼>