本文主要給大家介紹MySQL數(shù)據(jù)庫成功登錄方法,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL數(shù)據(jù)庫成功登錄方法吧。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),東西湖企業(yè)網(wǎng)站建設(shè),東西湖品牌網(wǎng)站建設(shè),網(wǎng)站定制,東西湖網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,東西湖網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
在數(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)閙ysql會(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è)資訊欄目的。