您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何解決mysql本地和遠(yuǎn)程登錄不上的問(wèn)題,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
mysql本地登錄不上的問(wèn)題
本地登錄不上,即忘記了密碼,該如何解決呢?
首先,我們以不檢查權(quán)限的方式啟動(dòng)mysql,如下:
1/usr/local/mysql/bin/mysqld --skip-grant-tables &
然后,就可以直接登錄了,如下:
1 /usr/local/mysql/bin/mysql -u root
最后,修改密碼即可。
1update user set authentication_string=PASSWORD('dequan') where User='root';
注意:在mysql5.7以及更高版本,使用authentication_string字段代替了Password字段。
mysql遠(yuǎn)程登錄不上的問(wèn)題
針對(duì)以檢查權(quán)限的方式啟動(dòng)的mysql,客戶(hù)端在以某用戶(hù)來(lái)登錄mysql時(shí),mysql服務(wù)端會(huì)檢驗(yàn)該用戶(hù)以及該用戶(hù)所在的ip是否有操作的權(quán)限。mysql可以基于用戶(hù)ip、數(shù)據(jù)庫(kù)、表、操作類(lèi)型等維度來(lái)進(jìn)行授權(quán)操作,授權(quán)的方式有修改mysql庫(kù)里面的user表、執(zhí)行mysql授權(quán)語(yǔ)句等。
1、基于修改user表來(lái)進(jìn)行授權(quán)操作
如果某個(gè)ip登錄不上,即在User表中沒(méi)有對(duì)該ip進(jìn)行授權(quán)。首先,我們看一些user表中的一些字段
Host: 127.0.0.1
User: root
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *89E04A681364F578C8E900403166C192A1E8E2B6
password_expired: N
password_last_changed: 2017-08-04 10:27:44
password_lifetime: NULL
account_locked: N
其中,Host為允許登錄的主機(jī)名或是ip(如果為%,則代表任意ip或是主機(jī)),User登錄用戶(hù),authentication_string為登錄密碼,*_priv為響應(yīng)功能的權(quán)限,比如Select_priv為讀的權(quán)限,Insert_priv寫(xiě)入的權(quán)限,Update_priv更新的權(quán)限,Delete_priv刪除的權(quán)限。
所以,如果要允許root在某個(gè)遠(yuǎn)程主機(jī)ip1上面登錄,則需要,改變對(duì)應(yīng)登錄用戶(hù)的Host字段即可:
update user set host = 'ip1' where user = 'root';
//或者
update user set host = '%' where user = 'root';
最后更新一下權(quán)限即可
FLUSH RIVILEGES
2、基于mysql授權(quán)語(yǔ)句來(lái)進(jìn)行授權(quán)操作
當(dāng)然,mysql也提供了相應(yīng)的授權(quán)語(yǔ)句,如下:
grant all privileges on db.table to 'user'@'host' identified by '密碼' with grant option;
all privileges 代表授予所有的權(quán)限,當(dāng)然我們也可以?xún)H僅授予某些權(quán)限。最后在更新一下權(quán)限,即可
FLUSH RIVILEGES
上述內(nèi)容就是如何解決mysql本地和遠(yuǎn)程登錄不上的問(wèn)題,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。