十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
可能是密碼錯誤,或者用戶忘記密碼
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、八步網(wǎng)站維護、網(wǎng)站推廣。
mysql CREATE USER 'nonexistant'@'%' IDENTIFIED BY '123456';Query OK, 0 rows affected (0.00 sec)
修復(fù):檢查和/或重置密碼:您無法從 MySQL 以純文本格式讀取用戶密碼,因為密碼哈希用于身份驗證,但您可以將哈希字符串與“PASSWORD”函數(shù)進行比較。
我們可以看到 PASSWORD('forgotten')哈希與 authentication_string 列不匹配,這意味著 password string ='forgotten' 不是正確的登錄密碼。如果您需要覆蓋密碼,可以執(zhí)行以下查詢:
mysql set password for 'nonexistant'@'%' = 'hello$!world';Empty set (0.00 sec)
mysql報錯synaxerroratornearregex該按照以下步驟操作。
1、可以修改SQL語句,在表的名字加上,位于tab鍵上面的英文引號。
2、修改表的名稱,在表命名的時候,盡量用上前綴,防止這種錯誤。
3、檢查sql語句書寫是否規(guī)范??梢园裇QL語句復(fù)制到客戶端看一看是否正確,排查錯誤。
有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數(shù)據(jù)檢測恢復(fù)工具。前者使用起來比較簡便。推薦使用。
1. check table 和 repair table
登陸mysql 終端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出現(xiàn)的結(jié)果說Status是OK,則不用修復(fù),如果有Error,可以用:
repair table tabTest;
進行修復(fù),修復(fù)之后可以在用check table命令來進行檢查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk適用于MYISAM類型的數(shù)據(jù)表,而isamchk適用于ISAM類型的數(shù)據(jù)表。這兩條命令的主要參數(shù)相同,一般新的系統(tǒng)都使用MYISAM作為缺省的數(shù)據(jù)表類型,這里以myisamchk為例子進行說明。當發(fā)現(xiàn)某個數(shù)據(jù)表出現(xiàn)問題時可以使用:
myisamchk tablename.MYI
進行檢測,如果需要修復(fù)的話,可以使用:
myisamchk -of tablename.MYI
關(guān)于myisamchk的詳細參數(shù)說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL服務(wù)器沒有訪問這個數(shù)據(jù)表,保險的情況下是最好在進行檢測時把MySQL服務(wù)器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面啟動MySQL服務(wù)器前:
[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監(jiān)聽的Sock文件位置,對于使用RPM安裝的用戶應(yīng)該是/var/lib/mysql/mysql.sock,對于使用源碼安裝則是/tmp/mysql.sock可以根據(jù)自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數(shù)據(jù)庫存放的位置。
需要注意的時,如果你打算把這條命令放在你的rc.local里面,必須確認在執(zhí)行這條指令時MySQL服務(wù)器必須沒有啟動!檢測修復(fù)所有數(shù)據(jù)庫(表)
1.mysql服務(wù)無法啟動,報1067錯誤
解決方案:
1).把mysql服務(wù)端解壓目錄新加一個my.ini文件,內(nèi)容如下?12345678910111213141516171819 [mysqld] # set basedir to installation path, e.g., c:/mysql # 設(shè)置為MYSQL的安裝目錄 basedir=c:/tool/mysql5617win32 # set datadir to location of data directory, # e.g., c:/mysql/data or d:/mydata/data # 設(shè)置為MYSQL的數(shù)據(jù)目錄 datadir=c:/tool/mysql5617win32/data character_set_server = utf8 character_set_client = utf8 [WinMySQLadmin] Server=c:/tool/mysql5617win32/bin/mysqld.exe user=root #這里感覺沒有用 password=123456 #這里感覺沒有用 #以上是設(shè)置WinMySQLadmin的配置 [Client] user=root #這里感覺沒有用 password=123456 #這里感覺沒有用2).dos下面輸入:sc delete mysql
3).重啟電腦
4).mysqld install MySQL --defaults-file="你的解壓根目錄\my.ini",提示:Service successfully installed.
5).net start mysql
6).提示啟動成功
2.修改root密碼提示10061
1).10061一般是mysql服務(wù)沒有啟動造成的,去服務(wù)里面看下是否已啟動2).如果啟動了還是報這個錯誤那就去關(guān)閉防火墻(遠程服務(wù)器才需要)3).這時應(yīng)該不會出現(xiàn)10061了
3.修改root密碼提示10045
1).cmd進入mysql解壓目錄的bin下,類似:cd c:/tool/mysql5617win32/bin2).輸入:mysql -u root -p
3).出現(xiàn)了enter password: 不用管直接回車(因為剛開始是沒有密碼的)4).use mysql; 大概會出現(xiàn):changed table success;5).update user set password=PASSWORD("123465") where user='root'; 大概會出現(xiàn)changed 3;updated 36).flush privileges;
7)然后打開客戶端輸入你上面的123456就可以連接成功了
1、mysql數(shù)據(jù)庫系統(tǒng)允許的最大可連接數(shù)max_connections。這個參數(shù)是可以設(shè)置的。如果不設(shè)置,默認是100。最大是16384。
2、數(shù)據(jù)庫當前的連接線程數(shù)threads_connected。這是動態(tài)變化的。
查看max_connections、max_connections的辦法見后。
如果
threads_connected
==
max_connections
時,數(shù)據(jù)庫系統(tǒng)就不能提供更多的連接數(shù)了,這時,如果程序還想新建連接線程,數(shù)據(jù)庫系統(tǒng)就會拒絕,如果程序沒做太多的錯誤處理,就會出現(xiàn)類似強壇的報錯信息。
因為創(chuàng)建和銷毀數(shù)據(jù)庫的連接,都會消耗系統(tǒng)的資源。而且為了避免在同一時間同時打開過多的連接線程,現(xiàn)在編程一般都使用所謂數(shù)據(jù)庫連接池技術(shù)。
但數(shù)據(jù)庫連接池技術(shù),并不能避免程序錯誤導(dǎo)致連接資源消耗殆盡。
這種情況通常發(fā)生在程序未能及時釋放數(shù)據(jù)庫連接資源或其他原因造成數(shù)據(jù)庫連接資源不能釋放,但強壇系統(tǒng)估計不會發(fā)生這種低級的編程錯誤。
該錯誤的簡便的檢查辦法是,在刷新強壇頁面時,不斷監(jiān)視threads_connected的變化。如果max_connections足夠大,而
threads_connected值不斷增加以至達到max_connections,那么,就應(yīng)該檢查程序了。當然,如果采用數(shù)據(jù)庫連接池技術(shù),
threads_connected增長到數(shù)據(jù)庫連接池的最大連接線程數(shù)時,就不再增長了。
從強壇出錯的情況看,更大的可能性是數(shù)據(jù)庫系統(tǒng)沒能進行適當?shù)嘏渲?。下面提出一點建議。供參考
讓你們的工程師把mysql的最大允許連接數(shù)從默認的100調(diào)成32000。這就不會老出現(xiàn)連接過多的問題了。
查看max_connections
進入mysql,用命令:
show
variables
查看數(shù)據(jù)庫最大可連接數(shù)的變量值:
max_connections
查看threads_connected
進入mysql,用命令:
show
status
查看當前活動的連接線程變量值:
threads_connected
設(shè)置max_connections
設(shè)置辦法是在my.cnf文件中,添加下面的最后紅色的一行:
[mysqld]
port=3306
#socket=mysql
skip-l