官網(wǎng)下載地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
下載版本:mysql-5.7.25-winx64.zip
背景:今天給我的老年聯(lián)想本本加了4G內(nèi)存,又換成了250G的固態(tài)盤,然后就有了重裝win10系統(tǒng)、重裝開發(fā)工具的過程,安裝mySQL的時(shí)候出現(xiàn)以下幾個(gè)問題,在此記錄希望大家不要踩坑。
下載好zip文件后,解壓放在你想放的地方,
我的mySQL放在這個(gè)路徑下:D:\install\mysql\mysql-5.7.25-winx64,
默認(rèn)沒有生成my.ini文件,所以需要在根目錄下新建文件my.ini(最終完整文檔內(nèi)容見最下方),保存后,
執(zhí)行 mysql install,
(1) 以下是出現(xiàn)的問題描述:
執(zhí)行 mysqld --initialize --console
--initialize specified but the data directory has files in it. Aborting.
不需要設(shè)置datadir存儲(chǔ)數(shù)據(jù),因?yàn)閙ysql會(huì)自動(dòng)生成一個(gè)文件夾存放數(shù)據(jù)(和bin目錄同級(jí)的data文件夾)。如果設(shè)置了,在data文件夾下生成了一些數(shù)據(jù)后,導(dǎo)致再次初始化產(chǎn)生報(bào)錯(cuò)如下:

圖1
解決辦法:
刪除與bin同級(jí)的文件夾data下的所有文件(注意,如果有重要信息請(qǐng)?zhí)崆皞浞荩?,再?zhí)行以下命令:
mysqld --initialize --console
就不會(huì)報(bào)錯(cuò)了,初始化完成,會(huì)給root賬號(hào)生成一個(gè)隨機(jī)密碼,如上圖
執(zhí)行命令: mysql -u root -p,回車后再輸入上面的密碼,就進(jìn)入mysql環(huán)境
(2).當(dāng)需要修改密碼或執(zhí)行其他操作時(shí)一直提示以下錯(cuò)誤:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解決辦法如下:
1.SET PASSWORD = PASSWORD('新密碼');
2.ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; #(EXPIRE NEVER:密碼永不過期)
3.FLUSH PRIVILEGES;? #(更新權(quán)限:修改了root密碼,在不重啟mysql服務(wù)的情況下直接生效);
4.quit #退出,再使用新密碼登錄就OK了
注意:如果你修改了my.ini,為了使配置生效,需要重啟mysql服務(wù):
使用以下兩條命令:
net stop mysql?
net start mysql

最后附上我的完整的my.ini ,包含log日志地址設(shè)置:
[client]
port=3306
default-character-set=utf8
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[mysqld]
#log
general-log=0
log-output=FILE
slow-query-log=1
long_query_time=1
slow_query_log_file="D:\install\mysql\log\log_slow.log"
log_error="D:\install\mysql\log\log_err.log"
#log="D:\install\mysql\log\logDora.log"
#開啟查詢緩存
explicit_defaults_for_timestamp=true
# 設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=D:/install/mysql/mysql-5.7.25-winx64
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報(bào)錯(cuò)
#datadir=D:\install\mysql\sqldata
# 允許最大連接數(shù)
max_connections=1000
max_user_connections=500
# Set the SQL mode to strict
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 服務(wù)端使用的字符集默認(rèn)為utf8字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
collation-server=utf8_general_ci