五種不輸入密碼登錄MySQL的方法,你知道幾種?
在對(duì)安全性要求不高的測(cè)試或開發(fā)環(huán)境中,每次登錄MySQL數(shù)據(jù)庫(kù)都需輸入密碼,可能會(huì)有點(diǎn)麻煩。在本文中,我們將探討五種在不輸入密碼的情況下登錄MySQL的方法,簡(jiǎn)化您的開發(fā)和測(cè)試任務(wù)。
1.使用環(huán)境變量
使用環(huán)境變量 MYSQL_PWD 指定連接到 mysqld 時(shí)的默認(rèn)密碼。下面的例子是使用 MYSQL_PWD 在不提供密碼的情況下登錄MySQL:
$ export MYSQL_PWD=your_password
$ mysql -uroot
將 your_password 替換為您的實(shí)際密碼。
關(guān)于號(hào)主,姚遠(yuǎn):
- Oracle ACE(Oracle和MySQL數(shù)據(jù)庫(kù)方向)
- 華為云最有價(jià)值專家
- 《MySQL 8.0運(yùn)維與優(yōu)化》的作者
- 擁有 Oracle 10g、12c和19c OCM等數(shù)十項(xiàng)數(shù)據(jù)庫(kù)認(rèn)證
- 曾任IBM公司數(shù)據(jù)庫(kù)部門經(jīng)理
- 20+年DBA經(jīng)驗(yàn),服務(wù)2萬(wàn)+客戶
- 精通C和Java,發(fā)明兩項(xiàng)計(jì)算機(jī)專利
2.使用配置文件
更新MySQL配置文件如下:
[client]
user=root
password=your_password
保存文件。將 your_password 替換為您的實(shí)際密碼。然后您可以無(wú)需密碼登錄:
$ mysql
3.使用 mysql_config_editor
使用 mysql_config_editor 保存登錄憑據(jù):
$ mysql_config_editor set --login-path=yao --user=root --password
在提示時(shí)輸入密碼。然后您可以使用保存的憑據(jù)登錄:
$ mysql --login-path=yao
4.使用 skip-grant-tables 啟動(dòng)MySQL
使用 skip-grant-tables 選項(xiàng)啟動(dòng)MySQL:
$ mysqld --skip-grant-tables --user=mysql &
然后您可以無(wú)需密碼登錄MySQL,或者無(wú)需提供正確的密碼:
$ mysql -uroot -pwrongpassword
5.使用 auth_socket 插件
auth_socket 認(rèn)證插件用于認(rèn)證通過(guò)Unix套接字文件從localhost連接到MySQL服務(wù)器的客戶端。該方法非常適合需要嚴(yán)格限制訪問(wèn)權(quán)限的服務(wù)器管理用戶帳戶。
在MySQL中啟用 auth_socket 插件:
mysql> INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
創(chuàng)建一個(gè)使用 auth_socket 插件的用戶:
mysql> CREATE USER 'yao'@'localhost' IDENTIFIED WITH auth_socket;
用Linux用戶身份驗(yàn)證無(wú)需密碼登錄MySQL:
$ sudo mysql -uyao
如果本地主機(jī)上的用戶具有Linux登錄名 yao,并且使用 -uyao 選項(xiàng)調(diào)用套接字文件連接到MySQL,使用 auth_socket 驗(yàn)證插件可以通過(guò)對(duì)客戶端的驗(yàn)證。
這些方法可以簡(jiǎn)化您的開發(fā)和測(cè)試工作流程,無(wú)需每次登錄MySQL時(shí)輸入密碼。但是,請(qǐng)務(wù)必僅在安全環(huán)境中使用它們。