最近在研究liferay的使用。liferay能夠鏈接mysql數據庫。電腦中裝的mysql的最新版本是mysql8。因而開始按照liferay的要求進行鏈接。可是多番嘗試後,均報錯:java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long。
詢問了一下高人,說多是mysql的版本過高,建議降到mysql5再嘗試鏈接。因而開始了mysql降級之旅。java
(1) 停mysql服務mysql
net stop mysql
(2) 刪除mysql的安裝目錄。網上好多教程說要在控制面板中刪除,可是個人win10系統卸載程序裏面根本沒找到mysql這個軟件。就直接先把目錄刪掉了。
(3) 刪除註冊表裏的mysql信息
網上說要刪掉下面3個值,可是我只找到一個,就刪掉了第一個。
打開註冊表:方式1:在終端命令裏輸入 regedit 方式二:在c盤下的windows 路徑下找到 regedit.exe執行程序 C:Windows 而後將下面三個路徑下的MySQL相關文件夾刪除。sql
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL
補充:完成了上述MySQL卸載操做後,在安裝新的MySQL時,會出現 數據庫
The vervice already exists!
The current server installed:之前安裝mysql的地址/bin/mysqld-nt MYSQL
解決辦法:windows
一、移除原來的MySQL服務code
mysqld -remove MySQL
二、從新註冊MySQL服務server
mysqld --install MySQL --defaults-file="C:\mysql-5.1.34\my.ini"
(1)下載並解壓
(2)新建my.ini教程
[mysql] default-character-set=utf8 [mysqld] port = 3306 basedir=E:\\soft_install\\mysql-5.7.24-winx64 datadir=E:\\soft_install\\mysql-5.7.24-winx64\\data max_connections=200 character-set-server=utf8 default-storage-engine=INNODB max_connect_errors=100 explicit_defaults_for_timestamp=true
(3)新建data文件夾
(4)初始化並安裝mysqlci
mysqld --install mysql --defaults-file=E:\soft_install\mysql-5.7.24-winx64\my.ini
(5)啓動rem
net start mysql
補充:
(1)my.ini的目錄要用雙斜線\\,這個很重要。在安裝時,我一直用的是\,可是一直報錯,改爲\\就行了。
(2)mysql 服務沒法啓動
服務沒有報告任何錯誤
解決方案:
能夠從新進行初始化,從新啓動,初始化以前要清空data文件夾(跟bin同級)
還能夠刪除服務,從新註冊
mysqld -remove mysql
使用cmd,分兩種狀況:
(1)C:/>bin/mysqld --initialize
密碼爲隨機密碼,在data目錄下的DESKTOP-UK92BAV.err找隨機密碼。
(2)C:/>bin/mysqld --initialize-insecure
不設置密碼。
修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';