SET PASSWORD FOR root @ localhost = PASSWORD( newpass ); 方法2:..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL修改密碼方法匯總

發(fā)布時(shí)間:2020-08-20 13:07:47 來(lái)源:腳本之家 閱讀:358 作者:hwg1227 欄目:MySQL數(shù)據(jù)庫(kù)

MySQL5.7版本之前修改密碼的方法:

方法1: 用SET PASSWORD命令

mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

mysqladmin -u root password "newpass"

如果root已經(jīng)設(shè)置過(guò)密碼,采用如下方法

mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接編輯user表

[root@ ~]#mysql -uroot -p
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;

在丟失root密碼的時(shí)候,可以這樣

mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;

MySQL 5.7.22修改密碼的方式如下:

1,版本更新,原來(lái)user里的password字段已經(jīng)變更為authentication_string版本更新 緣故,好多網(wǎng)上的教程都不適用了,甚至連官網(wǎng)的文檔也不是能夠順利操作的。如果 MySQL 正在運(yùn)行,首先殺之:killall -TERM mysqld。運(yùn)行mysqld_safe --skip-grant-tables &如果此時(shí)不想被遠(yuǎn)程連接:mysqld_safe --skip-grant-tables --skip-networking &使用mysql連接server更改密碼

mysql> update mysql.user set authentication_string=password('hwg123') where user='root' and Host = 'localhost';
mysql> exit
[root@Centos7_3 ~]# systemctl restart mysqld

*特別提醒注意的一點(diǎn)是,新版的mysql數(shù)據(jù)庫(kù)下的user表中已經(jīng)沒(méi)有Password字段了

而是將加密后的用戶密碼存儲(chǔ)于authentication_string字段。

2,升級(jí)mysql報(bào)錯(cuò)如下:ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50556, now running 50722. Please use mysql_upgrade to fix this error.錯(cuò)誤是由于你曾經(jīng)升級(jí)過(guò)數(shù)據(jù)庫(kù),升級(jí)完后沒(méi)有使用mysql_upgrade升級(jí)數(shù)據(jù)結(jié)構(gòu)造成的。

解決辦法:使用mysql_upgrade命令

root@localhost ~]# mysql_upgrade -u root -phwg123

3,MySQL5.7.22數(shù)據(jù)庫(kù)安裝完后更改密碼;

[root@ ~]# cat /var/log/mysqld.log | grep password
[root@ ~]# mysql -uroot -pRir.*sJUX6M*

進(jìn)入mysql后需要改全局變量。要不然你設(shè)置的密碼要符合密碼復(fù)雜度。

mysql> set global validate_password_policy=0;
[root@zabbixserver ~]# systemctl restart mysqld
[root@zabbixserver ~]# mysql -uroot -pRir.*sJUX6M*
mysql> ALTER USER USER() IDENTIFIED BY '12345678';

或者是這個(gè)樣子:

mysql> ALTER USER USER() IDENTIFIED BY 'Pass123!';

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI