Mysql-5.7.21安裝配置

搞開發多年,其實MySql前先後後安裝配置了無數次,可是每次都須要到網上搜教程,折騰半天才搞定,此次索性把整個過程所有記錄下來,以便之後查閱。python

下載

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

安裝配置

  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
  1. D:\Program Files\mysql-5.7.21\bin目錄下,按住Shift+右鍵,選擇在此處打開命令窗口sql

  2. 執行命令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版this

    • Found option without preceding group in config file 出現該錯誤通常是my.ini文件頭部缺乏了[mysql],或者另外一種狀況是文件的編碼格式不對,將文件編碼保存爲ANSI便可。
  3. 執行命令mysqld --initialize,此時安裝根目錄下會自動生成data文件夾(原目錄沒有該文件夾)。編碼

  4. 執行命令net start mysql,啓動服務,以下圖,證實已經安裝成功。 spa

配置帳號密碼

但當咱們輸入mysql命令時,會出現如下錯誤。 命令行

實際上咱們並無設置任何密碼,解決辦法以下:code

  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. 的錯誤,若是出現,則執行如下步驟便可:server

執行命令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;給予任何主機訪問數據的權限。
相關文章
相關標籤/搜索