溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)庫成功登錄方法

發(fā)布時(shí)間:2020-05-18 17:11:41 來源:網(wǎng)絡(luò) 閱讀:253 作者:三月 欄目:MySQL數(shù)據(jù)庫

文主要給大家介紹MySQL數(shù)據(jù)庫成功登錄方法,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL數(shù)據(jù)庫成功登錄方法吧。

在數(shù)據(jù)庫變更, 維護(hù)等工作中要多次進(jìn)行登錄,這里以數(shù)據(jù)庫管理用戶root@localhost進(jìn)行說明, 一般會(huì)有下面的命令行:

mysql@db01: ~$ mysql --host=localhost --password --port=3306 --socket=/home/3306/mysql.sock--user=root

Enter password: 

若每次都敲入或粘貼這一長(zhǎng)串命令, 然后再輸入密碼, 感覺真是不夠方便快捷.

MySQL 5.0, 5.5等較早版本中, 可進(jìn)行如下操作, 為了便于說明, 下面以mysql用戶(root)登錄數(shù)據(jù)庫所在的Linux操作系統(tǒng).

mysql用戶家目錄下建立隱藏文件.my.cnf,注意權(quán)限要設(shè)置為600, 里面寫入上面命行中的各參數(shù),由于其和登錄相關(guān), 暫且稱為登錄文件, 查看如下:

mysql@db01: ~$ ls -al .my.cnf

-rw-------. 1 mysql mysql 99Aug 17 21:31 .my.cnf

mysql@db01: ~$ cat .my.cnf

[client]

host = localhost

password = 123456

port = 3306

socket = /home/3306/mysql.sock

user = root 

然后直接在命令行敲入mysql(MySQL命令行工具), 回車就可登錄數(shù)據(jù)庫了. 

MySQL 5.6(5.6.6)及之后版本, 有了命令mysql_config_editor,能比較優(yōu)美的完成上面需求.

使用mysql_config_editor建立登錄文件, 如下命令行上--login-path=mytest中的mytest, 稱為登錄路徑(loginpath).

mysql@db01: ~$mysql_config_editor set --host=localhost --login-path=mytest --password--user=root --socket=/home/3306/mysql.sock --port=3306

Enter password:    <- 此處輸入密碼123456,回車即可

這時(shí)也會(huì)在用戶家目錄下生成一個(gè)隱藏文件, 名稱是.mylogin.cnf,觀察該登陸文件的特點(diǎn): 是被加密的, 顯示其內(nèi)容時(shí), 密碼也被星號(hào)替換了.

mysql@db01: ~$ ls -al.mylogin.cnf

-rw-------. 1 mysql mysql 192Aug 17 21:39 .mylogin.cnf

mysql@db01: ~$ file.mylogin.cnf

.mylogin.cnf: data

mysql@db01: ~$mysql_config_editor print --all

[mytest]

user = root

password = *****

host = localhost

socket = /home/3306/mysql.sock

port = 3306 

然后按如下命令行測(cè)試, 即可登入數(shù)據(jù)庫.

mysql@db01: ~$ mysql--login-path=mytest 

若想在登錄文件中添加第二個(gè)登錄路徑, 怎么做呢只需要調(diào)整上面mysql_config_editor命令行中相應(yīng)參數(shù)值即可, 然后查看登錄文件:

mysql@db01: ~$mysql_config_editor print --all

[mytest]

user = root

password = *****

host = localhost

socket = /home/3306/mysql.sock

port = 3306

[myremote]

user = root

password = *****

host = 192.168.138.134

port = 3306 

又若想修改登錄路徑myremote的密碼, password的值, 又怎么做呢

a. 刪除登錄路徑myremote

mysql@db01: ~$mysql_config_editor remove --login-path=myremote

b. 查看登錄文件, 確認(rèn)其已刪除, 只剩下mytest

mysql@db01: ~$mysql_config_editor print --all

[mytest]

user = root

password = *****

host = localhost

socket = /home/3306/mysql.sock

port = 3306 

c. 添加登錄路徑myremote,重新設(shè)定新密碼

mysql@db01: ~$mysql_config_editor set --host=192.168.138.134 --login-path=myremote --password--user=root --port=3306

Enter password: 

到這里, 命令mysql_config_editor就基本介紹完了. 

最后看一個(gè)問題, 在登錄路徑mytest, 刪除socket的信息, 是否還能登錄呢

mysql@db01: ~$ mysql_config_editor remove --login-path=mytest --socket

mysql@db01: ~$mysql_config_editor print --login-path=mytest         

[mytest]

user = root

password = *****

host = localhost

port = 3306

測(cè)試發(fā)現(xiàn), 還是可以登錄的, 明明缺少了socket的信息呀

確實(shí)是這樣, 只因?yàn)?/span>mysql會(huì)按照該順序/etc/my.cnf,/etc/mysql/my.cnf, /usr/local/mysql/etc/my.cnf,  ~/.my.cnf尋找需要的socket參數(shù), 使用如下方式可獲取這些文件的信息(根據(jù)MySQL安裝的不同, 可能某些文件的路徑不同):

mysql@db01: ~$ mysql --help |grep -A 1 'Default options'

Default options are read fromthe following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf ~/.my.cnf 

注意, 若這些文件中有相同的參數(shù),后面文件中的參數(shù)會(huì)覆蓋前面文件的; 對(duì)于登錄路徑mytest中已有的參數(shù), mysql則不會(huì)再尋找. 

上面不是還保留著文件.my.cnf, mysql會(huì)從中找到socket =/home/3306/mysql.sock, 然后就登陸進(jìn)去了.

驗(yàn)證下, 在文件.my.cnf, 添加井號(hào)#, 注釋掉socket, 然后再嘗試登錄, 發(fā)現(xiàn)報(bào)錯(cuò)了:

mysql@db01: ~$ mysql--login-path=mytest

ERROR 2002 (HY000): Can'tconnect to local MySQL server through socket '/tmp/mysql.sock' (2)

看完以上關(guān)于MySQL數(shù)據(jù)庫成功登錄方法,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識(shí)信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎ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)容。

AI