1. 程式人生 > >Mysql-5.7.21安裝配置

Mysql-5.7.21安裝配置

utf body mar 關閉 設置mysql ever engine 壓縮 word

搞開發多年,其實MySql前前後後安裝配置了無數次,但是每次都需要到網上搜教程,折騰半天才搞定,這次索性把整個過程全部記錄下來,以便以後查閱。

下載

到MySql官網,導航找到DOWNLOADS>>Community>>MySQL Community Server頁面,也可以直接點擊此處,選擇相應的Mysql版本的zip包,我這裏是mysql-5.7.21-winx64.zip

安裝配置

  1. 下載好壓縮包之後直接解壓到將要存放的目錄;
  2. 在根目錄新建my.ini文件(並沒有所謂的my-default.ini文件),保存為ANSI編碼格式,如下圖:技術分享圖片
  3. my.ini中拷入以下代碼:

    [mysql]
    # 設置mysql客戶端默認字符集
    default-character-set=utf8
    [mysqld]
    # 設置3306端口
    port = 3306 
    # 設置mysql的安裝目錄
    basedir=D:\\Program Files\\mysql-5.7.21
    # 允許最大連接數
    max_connections=200
    # 服務端使用的字符集默認為8比特編碼的latin1字符集
    character-set-server=utf8
    # 創建新表時將使用的默認存儲引擎
    default-storage-engine=INNODB
  4. D:\Program Files\mysql-5.7.21\bin
    目錄下,按住Shift+右鍵,選擇在此處打開命令窗口
  5. 執行命令mysqld --install,這時有可能會出現以下幾種錯誤:
    • Install/Remove of the Service Denied
      出現該問題是因為執行命令的權限不夠,到C:\Windows\System32目錄下找到cmd.exe文件,重新以管理員身份運行打開cmd窗口,然後轉到D:\Program Files\mysql-5.7.21\bin目錄,再次執行mysqld --install命令。
    • 丟失MSVCR120.dll,MSVCP120.dll
      技術分享圖片
    這個問題提示比較明顯,缺少文件,缺啥補啥,網上方案很多,最簡單的辦法就是根據缺失的文件安裝相應版本的VC++運行庫的安裝包,因為MSVCR和MSVCP都屬於VC++運行庫,具體如下:
    msvcp、msvcr、vcomp140.dll屬於VC++2015版 msvcp、msvcr、vcomp120.dll屬於VC++2013版 msvcp、msvcr、vcomp110.dll屬於VC++2012版 msvcp、msvcr、vcomp100.dll屬於VC++2010版 msvcp、msvcr、vcomp90.dll屬於VC++2008版 msvcp、msvcr60、71和80.dll,以及vcomp.dll(不帶數字版本號)屬於VC++2005版
    • Found option without preceding group in config file
      出現該錯誤一般是my.ini文件頭部缺少了[mysql],或者另一種情況是文件的編碼格式不對,將文件編碼保存為ANSI即可。
  6. 執行命令mysqld --initialize,此時安裝根目錄下會自動生成data文件夾(原目錄沒有該文件夾)。
  7. 執行命令net start mysql,啟動服務,如下圖,證明已經安裝成功。
    技術分享圖片

配置賬號密碼

但當我們輸入mysql命令時,會出現以下錯誤。
技術分享圖片

實際上我們並沒有設置任何密碼,解決辦法如下:

  1. 打開MySQL目錄下的my.ini文件,在文件的最後添加一行skip-grant-tables,保存並關閉文件。
  2. 重啟MySQL服務。
  3. 在命令行中輸入mysql -uroot -p(不輸入密碼),回車即可進入數據庫。
  4. 執行SQL語句use mysql;使用mysql數據庫。
  5. 執行SQL語句update user set authentication_string=password(‘123456‘) where user=‘root‘;
  6. 打開MySQL目錄下的my.ini文件,刪除最後一行的skip-grant-tables,保存並關閉文件。
  7. 重啟MySQL服務。

    註:
    此時如果執行如use mysql等命令,可能會出現 You must reset your password using ALTER USER statement before executing this statement. 的錯誤,如果出現,則執行以下步驟即可:

    執行命令SET PASSWORD = PASSWORD(‘123456‘);
    執行命令ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;

開啟遠程連接

  1. 執行命令MySQL -uroot -p123456
  2. 執行命令use mysql;
  3. 執行命令update user set host = ‘%‘ where user = ‘root‘;
  4. 執行命令GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;給予任何主機訪問數據的權限。

Mysql-5.7.21安裝配置