也沒(méi)想到在本地裝個(gè)mysql搞了我這么久。。。
遇到兩個(gè)問(wèn)題,安裝了mysql-8.0.30-winx64,項(xiàng)目起來(lái)報(bào)鏈接錯(cuò)誤,應(yīng)該是項(xiàng)目原本mysql-connector-java和mysql8版本兼容問(wèn)題。
所以卸載mysql8刪注冊(cè)表重啟電腦后下載了mysql-5.7.22-winx64,但是本地cmd登錄時(shí)候報(bào)錯(cuò)
Access denied for user 'root'@'localhost' (using password: YES)
應(yīng)該是老版本的mysql安全方面的設(shè)置。
網(wǎng)上找了有方法改my.ini文件加skip-grant-tables可以不用密碼進(jìn),但是沒(méi)找到my.ini文件,自己新建放在目錄下運(yùn)行也不行。
然后找到了下面的方法可行,其實(shí)就是用命令行繞開(kāi)密碼進(jìn)去DB把root的密碼改掉,所以記錄一下。
關(guān)閉Mysql服務(wù)
#方法一
net stop mysql
#方法二
netstat -aon|findstr "3306"
tasklist|findstr "xxxx"xxxx
跳過(guò)驗(yàn)證
用管理員身份在mysql/bin目錄下運(yùn)行,然后這個(gè)窗口就打開(kāi)著不動(dòng)。
mysqld --console --skip-grant-tables --shared-memory
打開(kāi)一個(gè) <font color=red>新的cmd窗口</font>,跳過(guò)驗(yàn)證,正常進(jìn)入mysql,在enter password的地方回車就可以了
D:\mysql-5.7.22-winx64\bin>mysql -u root -p
用sql把root的密碼改成空,退出mysql
mysql> update user set authentication_string='' where user='root';
mysql> quit
更改自己的密碼
先關(guān)閉輸入skip-grant-tables的cmd窗口,在另一個(gè)窗口重啟一下mysql服務(wù)。不用密碼進(jìn)mysql。
net stop mysql
net start mysql
mysql -u root -p
修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
用新密碼可以登錄,項(xiàng)目鏈接也沒(méi)有問(wèn)題了。