1. 程式人生 > >數據庫 之 更改用戶密碼和忘記管理員密碼解決方法

數據庫 之 更改用戶密碼和忘記管理員密碼解決方法

管理員 ini 改密碼 brush pan emctl monitor nbsp 修改配置文件

1 正常更改用戶密碼

記得密碼的情況下,有以下三個方法修改用戶密碼:

(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服務啟動成功後,重新連接,需要用新密碼才能連接,此時密碼修改成功


數據庫 之 更改用戶密碼和忘記管理員密碼解決方法