mysql忘記密碼怎麼改

來源:互聯網
上載者:User

標籤:管理員   伺服器   windows   忘記密碼   mysql登入密碼   

忘記mysql登入密碼的修改方法:

      方法原理:mysqld伺服器安裝的時候一步操縱就是需要初始化資料操縱。初始化後會有mysql資料庫,裡面有預設的表,其中mysqld在啟動時候會將user、db、host、tables_priv、columns_priv、procs_priv這6張表讀入記憶體當中。這6張表是對mysql使用者和其操縱進行認證的,其中user表是存放資料庫使用者資訊,db是資料庫層級的認證,host預設是空,可以添加使用者對mysql資料庫的存取控制資訊,tables_priv是表層級控制,columns_priv是列層級控制,procs_priv是進程層級的控制。

     用戶端在進行串連mysql伺服器是要經曆兩個階段:

        階段1:伺服器檢查是否允許你串連。 

階段2:假定你能串連,伺服器檢查你發出的每個請求。看你是否有足夠的許可權實施它。

這裡的修改方法就是在啟動資料庫的時候不去檢查user表中使用者控制資訊,使用指定的選項檔案來啟動資料庫。

一種方法是修改啟動指令檔

   編輯啟動指令碼,啟動mysql_safe是傳遞兩個參數

    --skip-grant-tbales  設定跳過授權表登入

    --skip-networking   設定不允許網路訪問,只能本地主機訪問

    啟動伺服器後使用更新授權表的方式修改user表的密碼,移除設定檔的兩個選項在重新啟動伺服器,可以使用新密碼串連登入


另一種方法:指定啟動選項檔案

windows下的修改方法:

安裝mysql的時候預設是root使用者,密碼為空白。

作為管理員,假如忘記了密碼,可以根據以下步驟來修改密碼登入。

一、如果mysqld伺服器此時處於運行狀態,要關閉mysqld伺服器。

             開始菜單->控制台->管理工具->服務

            然後在列表中找出MySQL伺服器,並停止它。或者通過工作管理員來停止。

二、建立一個文字檔,在單一第一行中寫入

             SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘MyNewPassword‘);

             用任意名稱儲存該檔案。在本例中,該檔案為C:\mysql-init.txt。

        三、開啟控制台視窗,進入DOS命令提示:

              開始菜單->運行-> cmd

              假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。在DOS命令提示字元下,執行命令:

              C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt

              在伺服器啟動時,執行由“--init-file”選項命名的檔案的內容,更改根使用者密碼。當伺服器成功啟動後,應刪除C:\mysql-init.txt。

        四、使用新密碼串連mysql伺服器


             如果你使用MySQL安裝嚮導安裝了MySQL,或許需要指定“--defaults-file”選項:

             C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld-nt.exe

              --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini"

              --init-file=C:\mysql-init.txt

            使用服務管理員,可找到恰當的“--defaults-file”設定:

            開始菜單->控制台->管理工具->服務

           在列表中找出MySQL服務,右擊,並選擇“屬性”選項。在可執列欄位的Path(路徑)中包含“--defaults-file”設定。

             停止MySQL伺服器,然後在正常模式下重啟它。如果以服務方式運行伺服器,應從Windows服務視窗啟動它。如果以手動方式啟動了伺服器,能夠像正常情形下一樣使用命令。

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


在linux系統下的修改方法:

     一、如果伺服器是運行狀態,需要停止伺服器。找到mysqld的進程ID,將其殺死。

         使用netstat -tunlp | grep mysqld 查看進程或者查看mysqld進程檔案,常見位置是/var/lib/mysql/、/var/run/mysqld/和/usr/local/mysql/data/。

         一般情況下,檔案名稱的副檔名為.pid,

     二、建立文字檔,並將下述命令放在檔案內的1行上:

          SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘MyNewPassword‘);

         用任意名稱儲存檔案。對於本例,檔案為/var/a.txt。

         用特殊的“--init-file=~/mysql-init”選項重啟MySQL伺服器:

     三、啟動伺服器

        [[email protected] bin]# /usr/bin/mysqld_safe --init-file=/var/a.txt &

        [1] 7375

        [[email protected] bin]# 150701 10:31:38 mysqld_safe Logging to ‘/var/log/mysqld.log‘.

        150701 10:31:38 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

        表示伺服器啟動成功。

        檔案init-file的內容在伺服器啟動時執行,更改根使用者密碼。伺服器成功啟動後,應刪除~/mysql-init。

     四、使用新密碼串連資料庫

         [[email protected] var]# mysql -u root -h localhost -p

          Enter password: 

          Welcome to the MySQL monitor.  Commands end with ; or \g.

          Your MySQL connection id is 2

          Server version: 5.1.66 Source distribution

          Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

          Oracle is a registered trademark of Oracle Corporation and/or its

          affiliates. Other names may be trademarks of their respective

          owners.

          Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

          mysql>


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

停止mysqld,並用“--skip-grant-tables --user=root”選項重啟它(Windows使用者可省略--user=root部分)。使用下述命令串連到mysqld伺服器:

shell> mysql -u root

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

mysql> UPDATE mysql.user SET Password=PASSWORD(‘newpwd‘)

    ->                   WHERE User=‘root‘;

mysql> FLUSH PRIVILEGES;

用打算使用的實際根使用者密碼替換“newpwd”。


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


本文出自 “七顆星” 部落格,請務必保留此出處http://qikexing.blog.51cto.com/7948843/1672500

mysql忘記密碼怎麼改

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.