Windows下Mysql 5.7.21(Zip)的安裝配置以及初始密碼報錯的問題簡單總結

JavaTestDev_qinyd發表於2018-04-14
一.下載
官網:https://dev.mysql.com/downloads/mysql/
二.解壓
這個隨便放,我放的是D盤下面:
D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
三.配置系統環境變數:
MYSQL_HOME  D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
path後面新增:;%MYSQL_HOME%\bin(注意win10單獨一行寫,不要寫分號,否則系統會找不到環境變數的)
四.設定預設配置
需要在自己的mysql的安裝目錄下,新增一個MySQL的配置檔案my.ini檔案,同時新建一個空的data目錄來存放mysql資料庫的資料
my.ini檔案的內容如下:
[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8
[mysqld]
#設定3306埠
port = 3306
# 設定mysql的安裝目錄 (*根據自己設定的目錄修改)
basedir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
# 設定mysql資料庫的資料的存放目錄 (*根據自己設定的目錄修改)
datadir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64\data
# 允許最大連線數
max_connections=200
# 服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
注意:my.ini這個檔案儲存的時候編碼格式一定要是儲存為ANSI格式檔案,如果儲存成UniCode會報如下錯誤的
Found option without preceding group in config file

五.資料庫服務初始化:
以 管理員身份 執行cmd.exe,執行:
mysqld --initialize --user=mysql --console
這條命令會對MySQL服務進行初始化,同時分配一個 初始密碼
MySQL安裝:
執行mysqld --install MySQL, 顯示Service successfully installed. 說明安裝成功。
啟動服務:
net start MySQL
停止服務:
net stop MySQL
六。初始密碼修改:
1.首先開啟 my.ini 檔案,在 [mysqld] 這一項行下新增 skip-grant-tables ,儲存退出。
現在my.ini檔案的內容如下:
[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8
[mysqld]
skip-grant-tables
#設定3306埠
port = 3306
# 設定mysql的安裝目錄 (*根據自己設定的目錄修改)
basedir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64
# 設定mysql資料庫的資料的存放目錄 (*根據自己設定的目錄修改)
datadir=D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64\data
# 允許最大連線數
max_connections=200
# 服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
2.在服務中找到mysql服務,右鍵停止
執行mysqld --defaults-file="D:\ProjectSoftware\Mysql\mysql-5.7.21-winx64" --console --skip-grant-tables
注:目錄以及檔名根據實際需要替換,這個時候你會發現視窗列印了不少東西而且一直在列印
3.開啟另外一個cmd視窗,以管理員身份執行
mysql -uroot -p  然後回車
這個時候會讓你輸入密碼,直接回車,進去了
4.分別輸入下面兩個命令
use mysql;
update user set authentication_string=password("123456") where user="root";
//將密碼設定為12345
5.然後執行flush privileges這個命令重新整理資料庫
6.重啟一下資料服務
啟動服務:
net start MySQL
停止服務:
net stop MySQL
7.啟動成功之後,然後再mysql -uroot -p 回車之後,要求輸入密碼,輸入123456 然後回車就進去到SQL的命令列模式了
8.這個時候如果執行一條sql語句或者輸入show database就會出現錯誤,如下:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
然後我們直接在mysql命令列模式下直接輸入命令:SET PASSWORD = PASSWORD('123456');
會出現報錯:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
這次我們需要退出MySQL,將配置檔案my.ini中新增的skip-grant-tables 這行刪去
9.重啟mysql服務
啟動服務:
net start MySQL
停止服務:
net stop MySQL
再次執行SET PASSWORD = PASSWORD('123456')
然後sql語句就可以正常執行了
9.最後修改root密碼永不過期
命令是:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;


相關文章