您好,登錄后才能下訂單哦!
Web項目使用使用root賬號root密碼進行部署,通過Eclipse加載到Tomcat服務器可以發布成功,打成war包放到tomcat的webapps目錄無法發布成功,報錯:
jdbc.properties涉及Mysql配置:
錯誤很明顯,與MySQL密碼有關,但是兩種方式部署項目使用的jdbc.properties配置文件是一樣的。所以肯定不是密碼不對引起的,只好找度娘,O(∩_∩)O哈哈~。
網上大部分帖通過運行mysql -u root -p命令登錄時也會報這個錯誤,所以,我就嘗試這種方法登錄下,看是否存在同樣的問題。
經查資料原因是root帳戶默認不開放遠程訪問權限,所以需要修改一下相關權限。
解決方法:
方法一:
1.打開MySQL目錄下的my.ini文件,在文件的最后添加一行"skip-grant-tables",保存并關閉文件。(WIN7默認安裝,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
2. 重啟MySQL服務。
3. 通過命令行進入MySQL的BIN目錄,輸入"mysql -u root -p"(不輸入密碼),回車即可進入數據庫。(WIN7默認安裝,BIN目錄為:C:\Program Files\MySQL\MySQL Server 5.6\bin)
4. 執行"use mysql;",使用mysql數據庫。
5. 執行"update user set authentication_string=PASSWORD("admin") where user='root';"(修改root的密碼)
6. 打開MySQL目錄下的my.ini文件,刪除最后一行的“skip-grant-tables”,保存并關閉文件。
前邊的步驟,其實也可以直接通過mysql客戶端工具修改root密碼.(如圖)
7. 重啟MySQL服務。
8. 在命令行中輸入"mysql -u root -padmin",即可成功連接數據庫。
完成以上步驟,修改jdbc.properties配置,Eclipse和war包方式都可以成功部署到tomcat服務器.問題終于解決。
附錄方法二:
1. 管理員登陸系統,停止mysql服務或者結束mysqld-nt進程;
2. 進入命令行,來到mysql的安裝目錄.假設安裝目錄為 d:\mysql\ , CMD進入命令行;
3. 運行 D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld-nt --skip-grant-tables啟動mysql,關閉權限的檢查;
4. 運行 D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin -u root flush-privileges password "newpassword" 重設root密碼;
5. 重新啟動mysql服務;
小插曲:
在解決問題當中,根據網上描述,通過mysql -u root -p password方式訪問mysql,結果報如下錯誤:
但是奇怪的是這條命令我輸進去死活都不對,它都會要求再輸入一遍密碼,然后返回"ERROR 1049 (42000): Unknown database '123456'"
這個錯誤提示很明顯,我們-P后面的password代表的是數據庫名稱。但-p這個參數,p應該代表的是password。百度后發現,-p和密碼是連在一起的。
mysql -h localhost -u root -ppassword
-p和密碼是連在一起的,趕緊一試,果然可以登陸!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。