數據庫 之 更改用戶密碼和忘記管理員密碼解決方法
記得密碼的情況下,有以下三個方法修改用戶密碼:
(1) SET PASSWORD [FOR 'user'@'host'] = PASSWORD('cleartext password');
(2) UPDATE mysql.user SET Password=PASSWORD('cleartext password') WHERE User='USERNAME' AND Host='HOST';
(3) mysqladmin -uUSERNAME -hHOST -p password 'NEW_PASS' #只能更改管理員密碼
例子
使用內鍵函數password()進行root密碼的修改
MariaDB [sunny]> set password for 'root'@'localhost' = password('Pass123456');
MariaDB [sunny]> flush privileges;
使用update更改密碼
MariaDB [(none)]> update mysql.user set password=password('Pass1234') where user='test';
使用mysqladmin更改管理員密碼
[root@CentOS7A ~]#mysqladmin -uroot -pPass1234567 password 'Pass123456'
2 忘記管理員密碼
解決辦法的大概步驟:
(1) 啟動mysqld進程時,使用--skip-grant-tables和--skip-networking選項;操作前,最好是先禁用3306端口,防止其他用戶登錄,或者禁止網絡登錄--skip-networking
CentOS 7:mariadb.service
CentOS 6:/etc/init.d/mysqld
(2) 通過UPDATE命令修改管理員密碼;
(3) 以正常 方式啟動mysqld進程;
CentOS7忘記管理員密碼具體步驟如下
前提,擁有系統級權限,即啟停服務,破解管理員密碼步驟如下
首先,停止mysql服務器
[root@CentOS7A ~]#systemctl stop mariadb.service
然後修改配置文件
vim /usr/lib/systemd/system/mariadb.service ExecStart=/usr/bin/mysqld_safe --basedir=/usr --skip-grant-tables --skip-networking
重載文件
[root@CentOS7A ~]#systemctl daemon-reload
重啟mqsql
[root@CentOS7A ~]#systemctl restart mariadb
此時,不需要賬號和密碼就可以登錄mysql
[root@CentOS7A ~]#mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
登錄mysql後更改root密碼,使用password函數直接修改表mysql.user,操作如下
MariaDB [(none)]> update mysql.user set password=PASSWORD('Pass12345678') where user="root";
密碼更新完成後,停止mysql服務,然後重新更改配置文件,把skip選項去掉後重新啟動
[root@CentOS7A ~]#systemctl stop mariadb; [root@CentOS7A ~]#vim /usr/lib/systemd/system/mariadb.service ExecStart=/usr/bin/mysqld_safe --basedir=/usr
重載文件
[root@CentOS7A ~]#systemctl daemon-reload [root@CentOS7A ~]#systemctl restart mariadb
mysql服務啟動成功後,重新連接,需要用新密碼才能連接,此時密碼修改成功
數據庫 之 更改用戶密碼和忘記管理員密碼解決方法