這篇文章主要給大家介紹了在shell下實現免密碼快速登陸mysql數據庫的方法,文中通過示例代碼一步步介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起看看吧。
背景
當我們在 Shell 下想要通過 mysql-client 登陸到 MySQL 數據庫的時候,我們總是需要非常麻煩的輸入一次又一次的密碼。
而且,如果你的 root 密碼是高度隨機的話(LastPass大法好),那么你登陸一次 MySQL 數據庫的成本就會非常大了。
通常我們登陸數據庫的時候都是這樣登陸的,如下
root@imlonghao:~#?mysql?-uroot?-p Enter?password:
那么,有沒有一個辦法能夠既mysql數據庫,又能簡單方便地登陸到數據庫去呢?
方法
答案當然是有的,而且,MySQL 也已經幫我們想過這個問題了!
參考鏈接:End-User Guidelines for Password Security
使用 .my.cnf 快速登陸
在 ~/ 目錄新建一個 .my.cnf 文件。當然,如果你已經有這個文件了,直接修改這個文件即可!
我個人喜歡用 vim 大法,于是我們就可以這樣
vim?~/.my.cnf
然后在文件中寫入下面的信息
[client] password=your_pass user=your_user
注意:修改 your_pass 和 your_user 為你想要登陸用戶的密碼和用戶名
下面是一個例子:
[client] password=mysqlrootpassword123321 user=root
如果你已經有 .my.cnf 這個文件了,就在 [client] 欄位寫入信息即可!
注意:由于 .my.cnf 文件中明文寫了你的密碼,因此要注意設置這個文件的文件權限
root@imlonghao:~#?chmod?400?~/.my.cnf
保存后,我們就可以直接使用 mysql 命令登陸 MySQL 數據庫了!
注:如果你需要指定一個設置文件而不使用默認的 ~/.my.cnf 的話,就需要使用 –defaults-file=file_name 參數了。例:
root@imlonghao:~#?mysql?--defaults-file=/home/imlonghao/mysql-opts
使用環境mysql數據庫 MYSQL_PWD 快速登陸
MySQL優先會使用環境變量中的參數作為運行參數
root@imlonghao:~#?export?MYSQL_PWD=your_pass
設置后,再次登陸 mysql 就不需要再次輸入密碼了。
不過需要注意的是,如果你mysql數據庫了當前的 Shell 的話,這個環境變量就會消失。
更需要注意的是,你在 Shell 輸入的命令,會被自動保存, history 就可以看到你輸入過的命令。
總結