mysql怎么登陸錯(cuò)誤 mysql登陸不上

mysql錯(cuò)誤代碼1045不能登錄的原因與解決方法

錯(cuò)誤如下:1045 Access denied for user 'root'@'localhost' (using password:YES)

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名與空間、網(wǎng)絡(luò)空間、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

想起來(lái)有可是在navicat添加的root@'%'用戶,可能密碼和現(xiàn)在新版本5.7的加密不同了,導(dǎo)致密碼不對(duì).

所以解決方法是更新用戶密碼.

注意5.7版本密碼保存的列是 authentication_string ,密碼要用函數(shù)password加密.

更新密碼的SQL是 update user set authentication_string=password('密碼') where user="root";

下面是Windows平臺(tái)下操作步驟:

配置文件my.ini ,在mysqld下面添加skip-grant-tables,意思是可以直接回車登錄,保存退出。重啟mySQL,然后運(yùn)行cmd

輸入mysql -u root -p就可以不用密碼登錄了,出現(xiàn)password:的時(shí)候直接回車可以進(jìn)入。

1.切換到mysql數(shù)據(jù)庫(kù):use mysql;

2.給root用戶設(shè)置新密碼,

mysql update user set authentication_string=password('密碼') where user="root";

3.刷新數(shù)據(jù)庫(kù)mysql flush privileges;

4.再修改my.ini,把剛加入的"skip-grant-tables"這行刪除或者添加#注釋,保存退出再重啟mysql服務(wù)就可以了。

一些參考命令

#刪除之前配置 drop user 'root' @ '%' ;

#配置遠(yuǎn)程登錄 CREATE USER 'root' @ '%' IDENTIFIED BY password( '你的密碼') ;

#授權(quán) GRANT ALL ON *.* TO 'root' @ '%' ;

#更新權(quán)限 flush privileges;

#查看用戶,主機(jī),加密方法 select user,host,plugin from user;

phpmyadmin登陸出現(xiàn)無(wú)法登陸MySQL

phpmyadmin登陸出現(xiàn)無(wú)法登錄MySQL是設(shè)置錯(cuò)誤造成的,解決方法為:

1、首先打開(kāi)運(yùn)行命令窗口,可以通過(guò)按住windows鍵+R的組合鍵來(lái)實(shí)現(xiàn),輸入cmd,然后按下回車鍵。

2、這樣就進(jìn)入了doc的命令窗口。

3、切換到我們安裝mysql的盤符。

4、然后再切換到mysql的bin目錄。

5、輸入mysql -uroot -p。

6、提示輸入密碼。

7、輸入mysql密碼之后,然后按下回車鍵,出現(xiàn)welcome的字樣表示登陸成功。

登錄mysql數(shù)據(jù)庫(kù)失敗怎么辦

以前也用過(guò)mysql數(shù)據(jù)庫(kù)(那時(shí)還是mysql3),可這樣的問(wèn)題還是頭一次遇到。我想在開(kāi)發(fā)過(guò)程中遇到這類問(wèn)題的人一定不在少數(shù),那么我們就從這次出現(xiàn)的問(wèn)題出發(fā)來(lái)一起研究一下mysql數(shù)據(jù)庫(kù)的賬戶添加問(wèn)題。先通過(guò)控制臺(tái)添加一個(gè)賬戶:mysql INSERT INTO user- VALUES('%','monty',PASSWORD('some_pass'),

- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',

- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',

- '','','','',0,0,0,0);

然后,建立php程序進(jìn)行登錄 htmlbodyh1It works!/h1?php

$link = mysql_connect('localhost', 'monty', 'some_pass');

if (!$link) {

die('Could not connect: ' . mysql_error());}echo 'Connected successfully';

mysql_close($link);

/body/html但是,運(yùn)行后的結(jié)果卻是:

原來(lái),在mysql的這個(gè)版本中(已經(jīng)很久沒(méi)有用mysql了,之前的版本沒(méi)有經(jīng)過(guò)測(cè)試),如果使用insert命令來(lái)增加一個(gè)賬號(hào)的話,必須在添加后刷新一下特權(quán)表:mysql INSERT INTO user - VALUES('%','monty',PASSWORD('some_pass'),

- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',

- 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',

- '','','','',0,0,0,0);

mysql FLUSH PRIVILEGES;

mysql GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' - IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' - IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';

mysql GRANT USAGE ON *.* TO 'dummy'@'localhost'; 前兩個(gè)帳戶名稱都是monty,而且都是擁有所有權(quán)限和密碼。但是兩者的區(qū)別在于,第一個(gè)帳戶(monty@localhost)只能通過(guò)本地登錄,而第二個(gè)賬戶(monty@%)可以通過(guò)任意主機(jī)登錄。值得注意的是,為了能夠使用monty帳戶在任何地方進(jìn)行登錄,這兩個(gè)賬戶同時(shí)存在則是必要的。因?yàn)?,如果沒(méi)有本地帳戶(monty@localhost),使用monty帳戶登錄時(shí),mysql_install_db將優(yōu)先考慮創(chuàng)建一個(gè)本地的匿名帳戶。那么結(jié)果將是monty賬戶會(huì)被當(dāng)作一個(gè)匿名帳戶來(lái)處理。原因則在于,匿名帳戶擁有一個(gè)比nonty@%賬戶更加具體的host字段值,從而在user表排序的時(shí)候會(huì)相對(duì)出現(xiàn)的更早。

上面這個(gè)表中的admin帳號(hào)則只擁有reload和process權(quán)限且沒(méi)有密碼,這些權(quán)限允許該帳戶執(zhí)行mysqladmin reload, mysqladmin refresh,mysqladmin processlist和mysqladmin flush-xxx系列命令,但是沒(méi)有權(quán)限進(jìn)入任何數(shù)據(jù)庫(kù)。dummy帳號(hào)沒(méi)有密碼也沒(méi)有任何權(quán)限,它只被允許從本地(localhost)登錄mysql。GRANT命令允許使用USAGE來(lái)創(chuàng)建一個(gè)帳號(hào)卻不賦予任何權(quán)限。如果你的Mysql采用的是NO_AUTO_CREATE_USER模式,那么通過(guò)命令行模式建立一個(gè)沒(méi)有密碼的帳號(hào)將會(huì)失敗。為了解決這個(gè)問(wèn)題,你可以使用IDENTIFIED BY來(lái)指定具體的密碼。

用mysql驗(yàn)證登陸失敗

現(xiàn)象

一線的工程師反映了一個(gè)奇怪的現(xiàn)象,剛剛從 MySQL 官網(wǎng)上下載了一個(gè) MySQL 5.7.31。安裝完成后,發(fā)現(xiàn)使用任何密碼都能登陸 MySQL,修改密碼也不管用,重新啟動(dòng) MySQL 也不能解決。

分析

懷疑使用了 --skip-grant-tables 使用 mysqld --print-defaults 檢查,沒(méi)有發(fā)現(xiàn)。

檢查登陸用戶,都是 root@localhost,說(shuō)明和 proxy user 沒(méi)有關(guān)系。

使用 mysql --print-defaults 檢查客戶端是否設(shè)置默認(rèn)的用戶和密碼,沒(méi)有發(fā)現(xiàn)。

發(fā)現(xiàn)一切都正常,再檢查 plugin 字段,發(fā)現(xiàn)只有 root 用戶是 auth_socket ,其它的用戶都是 mysql_native_password,問(wèn)題可能就出在這兒。

問(wèn)題解決

對(duì) auth_socket 驗(yàn)證插件不了解,感覺(jué)是這個(gè)插件不安全,使用下面的命令修改后,問(wèn)題解決:

update user set plugin="mysql_native_password" where user='root';

auth_socket 驗(yàn)證插件的使用場(chǎng)景

問(wèn)題解決后,又仔細(xì)研究了一下 auth_socket 這個(gè)插件,發(fā)現(xiàn)這種驗(yàn)證方式有以下特點(diǎn):

首先,這種驗(yàn)證方式不要求輸入密碼,即使輸入了密碼也不驗(yàn)證。這個(gè)特點(diǎn)讓很多人覺(jué)得很不安全,實(shí)際仔細(xì)研究一下這種方式,發(fā)現(xiàn)還是相當(dāng)安全的,因?yàn)樗辛硗鈨蓚€(gè)限制;

只能用 UNIX 的 socket 方式登陸,這就保證了只能本地登陸,用戶在使用這種登陸方式時(shí)已經(jīng)通過(guò)了操作系統(tǒng)的安全驗(yàn)證;

操作系統(tǒng)的用戶和 MySQL 數(shù)據(jù)庫(kù)的用戶名必須一致,例如你要登陸 MySQL 的 root 用戶,必須用操作系統(tǒng)的 root 用戶登陸。

auth_socket 這個(gè)插件因?yàn)橛羞@些特點(diǎn),它很適合我們?cè)谙到y(tǒng)投產(chǎn)前進(jìn)行安裝調(diào)試的時(shí)候使用,而且也有相當(dāng)?shù)陌踩裕驗(yàn)橄到y(tǒng)投產(chǎn)前通常經(jīng)常同時(shí)使用操作系統(tǒng)的 root 用戶和 MySQL 的 root 用戶。當(dāng)我們?cè)谙到y(tǒng)投產(chǎn)后,操作系統(tǒng)的 root 用戶和 MySQL 的 root 用戶就不能隨便使用了,這時(shí)可以換成其它的驗(yàn)證方式,可以使用下面的命令進(jìn)行切換:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';

Linux安裝完mysql后提示錯(cuò)誤無(wú)法登陸mysql怎么辦

第一步:先停止所有mysql

進(jìn)程#

killall

-term

mysqld

第二步:用安全模式啟動(dòng)

#

/usr/local/mysql/bin/mysqld_safe

--skip-grant-table

注:

啟動(dòng)時(shí)會(huì)報(bào)錯(cuò),而且卡在哪不動(dòng),這時(shí)你只要回車即可,然后再用空密碼就能登陸了

第三:

用空密碼登陸,修改mysql

的root

密碼

#

mysql

-uroot

-p

//登錄mysql

mysql

use

mysql

//

選擇mysql

數(shù)據(jù)庫(kù)

mysql

update

user

set

password=password("654123")

where

user="root";

//

更新root

密碼

mysql

flush

privileges;

//

使修改立即生效

第四:

用你修改的密碼登陸!

mysql在登陸時(shí)出現(xiàn)ERROR 2005 (HY000): Unknown MySQL server host 'localhost;' (2)錯(cuò)誤

1、首先在登錄前需要在配置文件中進(jìn)行設(shè)置,找到配置文件。

2、打開(kāi)配置文件,在配置文件的最尾端加上skip-grant-tables用來(lái)跳轉(zhuǎn)密碼驗(yàn)證,然后保存文件。

3、接著修改完成后,需要重啟mysql服務(wù),如下圖。

4、重啟完成后再重新登錄mysql服務(wù)器。

5、最后登錄成功后看到操作窗口就能正常操作了。

網(wǎng)站標(biāo)題:mysql怎么登陸錯(cuò)誤 mysql登陸不上
分享地址:http://muchs.cn/article42/dossjec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站導(dǎo)航、營(yíng)銷型網(wǎng)站建設(shè)、微信公眾號(hào)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)