mysql-5.7.15-winx64(免安裝 ZIP 包)E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64[client]
default-character-set=utf8
[mysqld]
port=3306
basedir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64"
datadir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\"
tmpdir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\"
socket="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\mysql.sock"
log-error="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\mysql_error.log"
max_connections=100
table_open_cache=256
query_cache_size=1M
tmp_table_size=32M
thread_cache_size=8
innodb_data_home_dir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\"
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=128M
innodb_buffer_pool_size=128M
innodb_log_file_size=10M
innodb_thread_concurrency=16
innodb_autoextend_increment=1000
join_buffer_size=128M
sort_buffer_size=32M
read_rnd_buffer_size=32M
max_allowed_packet=32M
explicit_defaults_for_timestamp=true
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
mysqld --initialize
5.7+ 無預設 data 目錄,必須初始化。執行後會生成隨機 root 密碼(查看 .err 日誌)。
mysqld install MySQL --defaults-file="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\my.ini"

[mysqld] 加入 skip-grant-tables=1,重啟。mysql -u rootauthentication_string):UPDATE mysql.user SET authentication_string=PASSWORD('root') WHERE User='root';FLUSH PRIVILEGES;skip-grant-tables,重啟服務。ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';關鍵截圖:






HeidiSQL 連線測試成功。
--initialize,不可略過。PASSWORD() 函數在 8.0 棄用,新版請用 ALTER USER ... IDENTIFIED BY。skip-grant-tables 下無法執行 ALTER USER,需分兩階段:UPDATE → 重啟 → ALTER USER。