1克蚂、window版本mysql下載地址(下載沒有問題,官網(wǎng)下載眷蚓,可以下載8+版本阀圾,也可以下載5.x版本):https://dev.mysql.com/downloads/mysql/
2、下載完成為方便使用建議把bin目錄配置到環(huán)境變量path中灭红。
3侣滩、為方便使用,建議通過mysqld -install命令進(jìn)行service服務(wù)安裝变擒。
4君珠、dos下啟動(dòng)和關(guān)閉服務(wù):net start mysql;net stop mysql必須在管理員環(huán)境下才可以使用
5、mysql官網(wǎng)下載解壓版本沒有my.ini配置文件娇斑,并且root的默認(rèn)密碼是空葛躏。一般用戶都會(huì)進(jìn)行修改密碼澈段,下面就開始遇到坑了悠菜,請(qǐng)注意解決方法:(配置文件可以從其他地方拷貝過來)
首先在沒有密碼的前提下我們是可以進(jìn)入到mysql環(huán)境的舰攒,可以通過update語句進(jìn)行修改密碼:
update user set?authentication_string='123' where user='root' and host='localhost';
修改完重啟mysql,準(zhǔn)備登陸悔醋,這個(gè)時(shí)候會(huì)發(fā)現(xiàn)剛剛修改的密碼竟然不能登陸摩窃。why?芬骄?猾愿?
這個(gè)時(shí)候發(fā)現(xiàn)navicat連接數(shù)據(jù)庫也報(bào)錯(cuò)。報(bào)錯(cuò)如下:
分析考慮可能是加密的方式不同账阻,設(shè)置的密碼所以不認(rèn)識(shí):這個(gè)時(shí)候網(wǎng)上給出了一系列的解決方法比如官網(wǎng)給出的通過設(shè)置一個(gè)密碼然后用
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
或者通過跳過權(quán)限檢查的方法(此方法可以登陸并且修改密碼蒂秘,但是沒有解決根本問題):
mysqld -nt --skip-grant-tables,進(jìn)去之后窗口不能關(guān)閉淘太,另外在開一個(gè)dos窗口姻僧。
以上方法都沒有解決我的根本問題,后經(jīng)分析考慮到應(yīng)該是密碼的加密存儲(chǔ)方式的問題蒲牧,于是用了以下的解決方案:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用戶密碼
FLUSH PRIVILEGES; #刷新權(quán)限
此解決方案的前提是能夠正常登陸到mysql撇贺,所以我在跳過權(quán)限的時(shí)候登陸進(jìn)行把密碼設(shè)置成了空,然后修改加密方式冰抢,修改密碼松嘶,正常登陸。navicat也能正常連接挎扰。
這個(gè)時(shí)候密碼的顯示如下:
如果沒有修改加密方式翠订,直接update root用戶的密碼可以看到明文的密碼形式。