MySQL 配置免密碼登錄的問題記錄(mysql_config_editor Configuration)
當(dāng)使用mysql, mysqldump, mysqladmin等客戶端連接MySQL數(shù)據(jù)庫服務(wù)器時(shí),需要提供用戶憑證信息。你可以在每次連接時(shí)都輸入連接信息(用戶名/密碼/地址/端口等)或者將用戶信息保存在my.cnf配置文件的[client]模塊。
第一種方式每次都輸入用戶密碼等信息,很繁瑣。第二種方式雖然不需要輸入信息,但密碼是以明文的形式保存在配置文件中,存在安全風(fēng)險(xiǎn)。為了解決這兩個(gè)問題,MySQL專門提供了mysql_config_editor工具來管理用戶憑證,即避免了每次連接輸入憑證,又避免密碼泄露的問題。
一、mysql_config_editor簡介
mysql_config_editor是MySQL自帶的用戶憑證管理工具,當(dāng)安裝完MySQL后,它就已經(jīng)裝好了。它的功能是加密管理用戶連接信息,當(dāng)使用其他的客戶端工具例如mysql,mysqldump,mysqladmin連接數(shù)據(jù)庫時(shí),可以直接讀取這些加密的連接信息,而不需要用戶輸入。
在mysql_config_editor中,連接信息叫做login-path(登錄路徑),用戶需要使用set命令預(yù)先設(shè)置連接信息及對(duì)應(yīng)的login-path名稱,這些信息被保存在當(dāng)前用戶目錄下的.mylogin.cnf文件中(這是一個(gè)二進(jìn)制加密文件)。連接時(shí)候只需要指定login-path的名稱,客戶端就會(huì)通過預(yù)設(shè)的信息連接數(shù)據(jù)庫。

使用mysql_config_editor --help命令查看該工具的幫助信息:
mysql_config_editor --help

二、mysql_config_editor配置
mysql_config_eidtor的主要配置命令有set,remove,print三個(gè),分別用來配置、刪除、打印login-path信息。
2.1 配置login-path
使用set命令可以設(shè)置login-path信息,常用的選項(xiàng)有:
- –login-path 或 -G,指定login-path名稱,如果省略就是client
- –user 或 -u,指定連接用戶名
- –password 或 -p,指定密碼
- –host 或 -h,指定連接的服務(wù)器主機(jī)地址
- –port 或 -P,指定連接端口
- –socket 或 -S,指定Linux下本地連接的套接字文件
下面通過set命令新增一個(gè)login-path,由于沒有顯示指定名稱,所以默認(rèn)名是client,這里僅提供了用戶名和密碼:
mysql_config_editor set -uvincent -p

設(shè)置完成后使用print命令可以打印login-path的信息(密碼是加密的),默認(rèn)也是打印client:
mysql_coinfig_editor print

配置好之后,直接調(diào)用mysql命令,就可以連接數(shù)據(jù)庫了,當(dāng)mysql, mysqldump等客戶端不提供任何連接信息時(shí),默認(rèn)會(huì)使用–login-path=client的配置登錄:
mysql

查看一下連接信息,可以看到默認(rèn)的主機(jī)是localhost,連接方式是Unix套接字:
status;

再額外配置一個(gè)遠(yuǎn)程的login-path,主機(jī)IP地址為172.16.1.38,指定login-path名稱為remote:
mysql_config_editor set --login-path=remote -uvincent -h172.16.1.38 -P3306 -p

連接時(shí)顯式指定–login-path=remote,就可以連接到遠(yuǎn)程數(shù)據(jù)庫了:
mysql --login-path=remote

2.2 查看login-path
mysql_config_editor print --all命令可以打印所有的login-path信息,這里顯示的就是剛才配置的client和remote信息:
mysql_config_editor print --all

在print后面跟上具體的名稱來查看某個(gè)login-path信息(如果只有print則打印默認(rèn)的client信息):
mysql_config_editor print --login-path=remote

2.3 刪除login-path
當(dāng)連接信息發(fā)生變化時(shí)(例如用戶密碼變了),你可以直接用set命令重新設(shè)置,這會(huì)覆蓋原來的信息,達(dá)到更新的效果。
如果想刪除某個(gè)login-path的信息,可以用remove移除login-path:
mysql_config_editor remove --login-path=remote

另外還有mysql_config_editor reset命令,它會(huì)清空配置文件,即刪除所有的login-path,一般很少使用。
完成配置后,你就可以通過指定不同的login-path快速連接不同的數(shù)據(jù)庫服務(wù)器了。
到此這篇關(guān)于MySQL 配置免密碼登陸(mysql_config_editor Configuration)的文章就介紹到這了,更多相關(guān)MySQL 配置免密碼登陸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL通過自定義函數(shù)實(shí)現(xiàn)遞歸查詢父級(jí)ID或者子級(jí)ID
這篇文章主要介紹了MySQL通過自定義函數(shù)實(shí)現(xiàn)遞歸查詢父級(jí)ID或者子級(jí)ID,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
MySQL使用IF語句及用case語句對(duì)條件并結(jié)果進(jìn)行判斷?
這篇文章主要介紹了MySQL使用IF語句及用case語句對(duì)條件并結(jié)果進(jìn)行判斷,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
MySQl數(shù)據(jù)庫必知必會(huì)sql語句(加強(qiáng)版)
本文給大家分享了一篇關(guān)于mysql數(shù)據(jù)庫必會(huì)sql語句加強(qiáng)版內(nèi)容,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-04-04
CentOs7安裝部署Sonar環(huán)境的詳細(xì)過程(JDK1.8+MySql5.7+sonarqube7.8)
這篇文章主要介紹了CentOs7安裝部署Sonar環(huán)境(JDK1.8+MySql5.7+sonarqube7.8),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
MySql插入數(shù)據(jù)成功但是報(bào)[Err] 1055錯(cuò)誤的解決方案
這篇文章主要介紹了MySql插入數(shù)據(jù)成功但是報(bào)[Err] 1055錯(cuò)誤的解決方案,需要的朋友可以參考下2017-08-08

