---
# System prepended metadata

title: MariaDB 更改密碼 （以解決JSP 連接到 DB的問題）

---

# MariaDB 更改密碼 （以解決JSP 連接到 DB的問題）


MySQL 被替換成 MariaDB 了，安裝過程沒有輸入密碼的提示，能直接進，而且無法用 mysqladmin 更改密碼，這就用不了 phpmyadmin 等本地 web 服務了，在 askubuntu 上找到了答案，可以給 MariaDB 改回密碼。

問題原因：mysql 認證使用的外掛是 unix_socket，但現在已經被移除，把外掛改成 mysql_native_password 即可：

確保在 root 許可權下操作：
`sudo su`
關閉 mysql 服務：
`service mysql stop`
在啟動 mysql 時不啟動 grant-tables 授權表：
`mysqld_safe --skip-grant-table &`
root 使用者開啟 mysql：
`mysql -uroot`
進到 MariaDB，使用 mysql 資料庫：
`MariaDB [(none)]> use mysql`
重置密碼：
`MariaDB [(mysql)]>update user set password=PASSWORD("YourNewPassword") where User='root';`
更改認證方法（移除unix_socket的請求，換成mysql_native_password）
`MariaDB [(mysql)]>update user set plugin="mysql_native_password";`
退出 MariaDB：
`MariaDB [(mysql)]>quit;`
關閉 mysql 服務：
`service mysql stop`
並且殺掉 mysql 程序：
`kill -9 $(pgrep mysql)`
啟動 mysql 服務：
`service mysql start`
至此，MariaDB 已經可以使用密碼了。

