Shell下實(shí)現(xiàn)免密碼快速登陸MySQL數(shù)據(jù)庫(kù)的方法
背景
當(dāng)我們?cè)?Shell 下想要通過(guò) mysql-client 登陸到 MySQL 數(shù)據(jù)庫(kù)的時(shí)候,我們總是需要非常麻煩的輸入一次又一次的密碼。
而且,如果你的 root 密碼是高度隨機(jī)的話(LastPass大法好),那么你登陸一次 MySQL 數(shù)據(jù)庫(kù)的成本就會(huì)非常大了。
通常我們登陸數(shù)據(jù)庫(kù)的時(shí)候都是這樣登陸的,如下
root@imlonghao:~# mysql -uroot -p Enter password:
那么,有沒有一個(gè)辦法能夠既安全,又能簡(jiǎn)單方便地登陸到數(shù)據(jù)庫(kù)去呢?
方法
答案當(dāng)然是有的,而且,MySQL 也已經(jīng)幫我們想過(guò)這個(gè)問(wèn)題了!
參考鏈接:End-User Guidelines for Password Security
使用 .my.cnf 快速登陸
在 ~/ 目錄新建一個(gè) .my.cnf 文件。當(dāng)然,如果你已經(jīng)有這個(gè)文件了,直接修改這個(gè)文件即可!
我個(gè)人喜歡用 vim 大法,于是我們就可以這樣
vim ~/.my.cnf
然后在文件中寫入下面的信息
[client] password=your_pass user=your_user
注意:修改 your_pass 和 your_user 為你想要登陸用戶的密碼和用戶名
下面是一個(gè)例子:
[client] password=mysqlrootpassword123321 user=root
如果你已經(jīng)有 .my.cnf 這個(gè)文件了,就在 [client] 欄位寫入信息即可!
注意:由于 .my.cnf 文件中明文寫了你的密碼,因此要注意設(shè)置這個(gè)文件的文件權(quán)限
root@imlonghao:~# chmod 400 ~/.my.cnf
保存后,我們就可以直接使用 mysql 命令登陸 MySQL 數(shù)據(jù)庫(kù)了!
注:如果你需要指定一個(gè)設(shè)置文件而不使用默認(rèn)的 ~/.my.cnf 的話,就需要使用 --defaults-file=file_name 參數(shù)了。例:
root@imlonghao:~# mysql --defaults-file=/home/imlonghao/mysql-opts
使用環(huán)境變量 MYSQL_PWD 快速登陸
MySQL優(yōu)先會(huì)使用環(huán)境變量中的參數(shù)作為運(yùn)行參數(shù)
root@imlonghao:~# export MYSQL_PWD=your_pass
設(shè)置后,再次登陸 mysql 就不需要再次輸入密碼了。
不過(guò)需要注意的是,如果你退出了當(dāng)前的 Shell 的話,這個(gè)環(huán)境變量就會(huì)消失。
更需要注意的是,你在 Shell 輸入的命令,會(huì)被自動(dòng)保存, history 就可以看到你輸入過(guò)的命令。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
node 多種方法連接mysql數(shù)據(jù)庫(kù)(最新推薦)
mysql是一個(gè)流行的第三方模塊,可以通過(guò)npm安裝,在Node.js 中,有多種方法可以連接 MySQL 數(shù)據(jù)庫(kù),本文通過(guò)實(shí)例代碼講解node 多種方法連接mysql數(shù)據(jù)庫(kù)的示例代碼,感興趣的朋友跟隨小編一起看看吧2023-07-07
數(shù)據(jù)庫(kù)報(bào)錯(cuò):Unknown column 'xxx' in
但凡寫過(guò)sql語(yǔ)句的人估計(jì)都曾經(jīng)碰到過(guò)類似于Unknown column ‘xxx’ in ‘where clause’的問(wèn)題,這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)庫(kù)報(bào)錯(cuò):Unknown column 'xxx' in 'where clause'問(wèn)題的解決過(guò)程,需要的朋友可以參考下2023-03-03
MySQL實(shí)現(xiàn)差集(Minus)和交集(Intersect)測(cè)試報(bào)告
MySQL沒有實(shí)現(xiàn)Minus和Intersect功能,就像它也沒有實(shí)現(xiàn)cube的功能一樣。2014-06-06
centos7.2離線安裝mysql5.7.18.tar.gz
這篇文章主要為大家詳細(xì)介紹了centos7.2離線安裝mysql5.7.18.tar.gz,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06

