mysql-5.7.17-winx64解壓版本安裝圖解附常見問題

來源:互聯網
上載者:User

標籤:提示符   statement   lib   賬戶   自動產生   denied   init   指定   資料庫   

前言:自己搜尋總結的一個文檔,包含了一些常見的問題(在文檔尾部)以便於下次使用

步驟如下:

第一步:下載mysql-5.7.17-winx64解壓版本:http://dev.mysql.com/downloads/mysql/

 

 

第二步:解壓到安裝目錄,如:D:\MySql\mysql-5.7.17-winx64

解壓到自訂目錄:我解壓到了D盤的MySql檔案夾的根目錄  

 

 

 

第三步:設定環境變數

 操作如下:

    1)按右鍵我的電腦->屬性->進階系統設定(進階)->環境變數
      點擊系統變數下的建立按鈕
      輸入變數名:MYSQL_HOME
      輸入變數值:D:\MySql\mysql-5.7.17-winx64
    2)選擇系統變數中的Path
      點擊編輯按鈕
      在變數值中添加變數值:%MYSQL_HOME%\bin
      注意是在原有變數值後面加上這個變數,用;隔開,不能刪除原來的變數值,

第四步:修改 D :\ MySql \mysql-5.7.17-winx64檔案夾下的my.ini檔案,如果沒有可以 ( 解壓後有個my.default.ini檔案,修改成my.ini,在裡面修改 ) 複製my-default.ini 重新命名 my.ini 

配置如下:

 

 

 

 後面初始化指令操作後會自動產生一個data檔案夾,

    在cmd中進入,輸入D:斷行符號進入D盤,輸入cd MySql\mysql-5.7.17-winx64\bin,進如解壓的bin檔案夾

   輸入:mysqld --install [斷行符號]   (這個命令就是安裝服務, 執行完後, 提示英文的成功, 這時候你可以在你的 windows 服務中看到  MySQL 的服務,但未啟動。)

  輸入:mysqld --initialize --console   這步很重要,這是初始化資料庫, (這是在老版本配置沒有的操作)然後你可以在初始化的最後面看到有一個 [email protected]: 後面有一連串的字母數字記號, 這是 MySQL 為你自動產生的隨機密碼,一定要記下來, 一會我們登陸 MySQL 資料庫的時候要用。
PS:使用-initialize產生隨機密碼,使用-initialize-insecure產生空密碼,初始化後data檔案夾會自動產生,不用自己建立。

第五步: 啟動MySQL服務

方法一:
        啟動服務命令為:net start mysql
    方法二:
        開啟管理工具 服務,找到MySQL服務。
        通過右鍵選擇啟動或者直接點擊左邊的啟動來啟動服務

第六步:修改 root 帳號的密碼

剛安裝完成時mysql資料庫無法登陸此時在安裝檔案目錄下的my.ini檔案中的[mysqld]下新增一行:skip-grant-tables 表示mysql登入跳過驗證 然後重新啟動mysql服務 修改為指定的密碼。如:123456
    c:>mysql –u root  登陸mysql資料庫
    mysql>show databases;  顯示資料庫
    mysql>use mysql; 使用mysql資料庫

Mysql> select user,host,authentication_string from user; 查詢user表的使用者密碼
    mysql>update MySQL.user set authentication_string=password(‘123456‘) where user=‘root‘ ;
    mysql>FLUSH PRIVILEGES;
    mysql>exit

重新開啟cmd 進入安裝目錄下 重新啟動服務 登陸修改後的密碼 驗證是否修改成功

Mysql>mysql uroot p123456;

 

附錄1  修改登入密碼

 

1. 開啟 cmd命令提示字元(管理員),進入mysql的安裝bin目錄下。

 

 

2.在my.ini檔案中[mysqld]後添加--skip-grant-tables 表示mysql登入跳過驗證

 

 

3.然後直接輸入mysql,不需要帶任何登入參數直接斷行符號就可以登陸上資料庫。

 

  4.輸入show databases;   可以看到所有資料庫說明成功登陸。

 

 其中mysql庫就是儲存使用者名稱的地方。輸入 use mysql;   選擇mysql資料庫。

 

 show tables查看所有表,會發現有個user表,這裡存放的就是使用者名稱,密碼,許可權等等賬戶資訊。

 

 5.輸入 select user,host,authentication_string from user; 來查看賬戶資訊。

 

 6.更改root密碼,輸入

update MySQL.user set authentication_string=password(123456) where user=‘root‘ ;修改密碼為123456;

7.再次查看賬戶資訊, select user,host,authentication_string from user;   可以看到密碼已被修改。

退出命令列,重啟mysql資料庫,用新密碼嘗試登入。

 

測試不帶密碼登入mysql,發現還是能夠登陸上,但顯示資料庫時只能看到兩個資料庫了,說明重啟之後跳過密碼驗證已經被取消了。

 

 

附錄2  MySQL5.7更改密碼時出現ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘

 

新安裝的MySQL5.7,登入時提示密碼錯誤,安裝的時候並沒有更改密碼,後來通過免密碼登入的方式更改密碼,輸入update mysql.user  set password=password(‘root‘) where user=‘root‘時提示ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘,原來是mysql資料庫下已經沒有password這個欄位了,password欄位改成了

authentication_string

所以更改語句替換為update MySQL.user set authentication_string=password(‘root‘) where user=‘root‘ ;即可

 

附錄3 mysql異常 Install/Remove of the Service Denied!

 

在windows 的cmd 命令下安裝MySQL 時,在mysql的bin目錄下面執行:

mysqld install MySQL --defaults-file="D:\mysql-5.6.17-winx64\my-default.ini"

出現如下異常:

Install/Remove of the Service Denied!

解決辦法:

開啟cmd.exe程式的時候,右鍵選擇“用管理員身份開啟”,再次執行就可以了:

 

 

Service successfully Installed!

 

附錄4  MySQL錯誤號碼1862:your password has expired或者ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

 

使用navicat串連mysql,若出現MySQL錯誤號碼1862:your password has expired,或者,運行視窗中進入bin目錄,>mysql -uroot -p123456登入進去,然後執行select * from mysql.users

會有如下資訊:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

解決:MySQL> SET PASSWORD = PASSWORD(‘123456‘);

          Query OK, 0 rows affected (0.03 sec)

然後再select * from mysql.users就有結果了,navicat也可以成功串連。

 

附錄5  ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

 

 

編輯mysql設定檔my.ini(不知道在哪請搜尋),在[mysqld]這個條目下加入
skip-grant-tables
儲存退出後重啟mysql
1.點擊“開始”->“運行”(快速鍵Win+R)。
  2.啟動:輸入 net stop mysql
  3.停止:輸入 net start mysql

這時候在cmd裡面輸入mysql -u root -p就可以不用密碼登入了,出現password:的時候直接斷行符號可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有許可權)。按下面的流程走(紅色部分為輸入部分,粉紅色的是執行後顯示的代碼不用輸入):
1.進入mysql資料庫:
mysql> use mysql;
Database changed
2.給root使用者佈建新密碼,藍色部分自己輸入:
mysql> update user set password=password("新密碼") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.重新整理資料庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit
Bye
改好之後,再修改一下my.ini這個檔案,把我們剛才加入的"skip-grant-tables"這行刪除,儲存退出再重啟mysql就可以了。

mysql-5.7.17-winx64解壓版本安裝圖解附常見問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.