linux中重置伺服器的mysql使用者密碼

2021-09-06 13:53:44 字數 1696 閱讀 8131

最近使用阿里雲伺服器,由於安裝lnmp安裝包時疏忽,安裝完後忘記了mysql的root使用者密碼。本來想重灌伺服器系統,但由於之前換系統和安裝環境花費了不少時間,也覺得沒必要出現什麼問題都去重灌系統。由於伺服器安裝的是linux系統,於是只有用shell命令去修改了。

在進行重置mysql使用者密碼時首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對外的埠封閉,並且停止apache以及所有的使用者程序的方法實現伺服器的準安全狀態。

1>停止mysql.

**如下

複製**

# /etc/init.d/mysqld stop

2>修改mysql的登入設定

**如下

複製**

# vi /etc/my.cnf

例如:**如下

複製**

[mysqld] 

port = 3306 

socket = /tmp/mysql.sock 

skip-external-locking 

skip-grant-tables

儲存並且退出vi。

3>重新啟動mysql

**如下

複製**

# /etc/init.d/mysqld restart

4>登入並修改mysql的root密碼

**如下

複製**

# /usr/bin/mysql 

mysql> use mysql ; 

mysql> update user set password = password('newpassword') where user = 'root' ; 

mysql> flush privileges ; 

mysql> quit ;

5>將mysql的登入設定修改回來

**如下

複製**

# vi /etc/my.cnf

將剛才在[mysqld]的段中加上的skip-grant-tables刪除

儲存並且退出vi。

6>重新啟動mysql

**如下

複製**

# /etc/init.d/mysqld restart

例子,乙個萬能的方法

作為可選方式,在任何平台上,可使用mysql客戶端設定新密碼(但該方法不夠安全):

停止mysqld,並用「–skip-grant-tables –user=root」選項重啟它(windows使用者可省略–user=root部分)。

使用下述命令連線到mysqld伺服器:www.111cn.net

**如下

複製**

shell> mysql -u root

在mysql客戶端發出下述語句:

**如下

複製**

mysql> update mysql.user set password=password(『newpwd』)

->                   where user=』root』;

mysql> flush privileges;

用打算使用的實際根使用者密碼替換「newpwd」。

應能使用新密碼進行連線。

你可能感興趣的文章

linux中重置伺服器的mysql使用者密碼

1 停止mysql.etc init.d mysqld stop2 修改mysql的登入設定 vi etc my.cnf例如 mysqld port 3306 socket tmp mysql.sock skip external locking skip grant tables儲存並且退出vi。...

linux中重置伺服器的mysql使用者密碼

最 近使用阿里雲伺服器,由於安裝lnmp安裝包時疏忽,安裝完後忘記了mysql的root使用者密碼。本來想重灌伺服器系統,但由於之前換系統和安裝環境花 費了不少時間,也覺得沒必要出現什麼問題都去重灌系統。由於伺服器安裝的是linux系統,於是只有用shell命令去修改了。在進行重置mysql使用者密...

在騰訊雲伺服器Linux系統中安裝MySQL

參考部落格 0 檢視是否已經安裝mysql root vm 8 15 centos rpm qa grep mysql 無輸出說明沒有安裝1 開啟 mysql yum儲存庫 檢視自己的版本 root vm 8 15 centos cat etc redhat release centos linux...