1. 程式人生 > >windows下安裝mysql5.7及以上版本注意事項

windows下安裝mysql5.7及以上版本注意事項

mysql5.7及以上版本安裝問題

今天在win10環境下安裝mysql5.7.14版本(zip綠色版)資料庫時,遇到一個問題,問題場景描述:安裝及mysqld服務註冊都沒有問題,但是在使用net start mysql (管理員命令列)命令啟動mysql時,遇到問題:
mysql服務正在啟動
mysql服務無法啟動
服務沒有報任何錯誤
困擾大半小時,網上搜到的一些解決辦法大致如以下兩點:

  1. 拷貝5.7以前版本的datadir檔案內容至新版本相應位置
  2. 使用mysql_install_db命令
    以上辦法,雖然在有些環境下可以解決問題,但是並沒有解決我的問題,後來在mysql官網上看到對這一問題的官方解決辦法,拿出來供遇到類似問題的童鞋使用
    , 習慣官網看貼的童鞋請進官方解決辦法

官方對該問題的解釋:
- mysql_install_db在5.7以上版本是不贊成使用的,這部分功能已經整合到mysqld中
- 呼叫 mysqld –initialize 命令進行初始化安裝。意思就是在安裝完成後,要先在cmd命令列中執行mysqld –initialize 命令以初始化內部資料庫。

問題解決後仍需注意的問題
使用mysqld –initialize執行初始化操作後,單一管理使用者 ‘root’@’localhost’ 使用隨機生成的密碼被建立。可使用–random-password-file=file_name 來指定隨機密碼的寫入檔案。預設目錄是在$HOME/.mysql_secret. (親試沒找到該目錄,還有一段解釋說是在命令列控制檯上會顯示這個隨機密碼如圖

,但是它奶奶讓人抓狂的是,我的控制檯並沒有顯示密碼,搞的不知道到哪裡去找這個神祕的隨機初始密碼了) 。更神奇的一點解釋是:該隨機生成密碼被標記為到期的,仍需要重新選擇新密碼。
其他與此相關的命令操作:
- 5.7.4版本中 –skip-random-passwords 忽略密碼生成,而到5.7.5版本後改為–insecure,如:mysqld –initialize-insecure ,建議使用這種方式,後期再重新設定密碼,使用該方式時,可使用mysql -u root –skip-password 訪問資料庫