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

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

步驟以下:mysql

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

 

 

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

解壓到自定義目錄:我解壓到了D盤的MySql文件夾的根目錄  windows

 

 

 

第三步:設置環境變量工具

 操做以下:測試

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

第四步:修改D:\MySql\mysql-5.7.17-winx64文件夾下的my.ini文件,若是沒有能夠(解壓後有個my.default.ini文件,修改爲my.ini,在裏面修改)複製my-default.ini 重命名 my.ini 

配置以下:this

 

 

 

 後面初始化指令操做後會自動生成一個data文件夾,spa

    cmd中進入,輸入D:回車進入D盤,輸入cd MySql\mysql-5.7.17-winx64\bin,進如解壓的bin文件夾

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

  輸入:mysqld --initialize --console   這步很重要,這是初始化數據庫, (這是在老版本配置沒有的操做)而後你能夠在初始化的最後面看到有一個 root@localhost: 後面有一連串的字母數字符號, 這是 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 時,在mysqlbin目錄下面執行:

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就能夠了。

相關文章
相關標籤/搜索