您好,登錄后才能下訂單哦!
Linux下修改MySQL的用戶(root)的密碼
在mysql系統(tǒng)外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【輸入原來的密碼】
通過登錄mysql系統(tǒng),
#?mysql -uroot -p
Enter password: 【輸入原來的密碼】
mysql>use mysql;
set方式;設(shè)置永不過期;
mysql>?set password=password('rootroot'); # set設(shè)置
mysql> alter user 'root'@'localhost' password expire never;
mysql>?flush privileges;
mysql>?exit;????
update 方式;
mysql>?update user set password=password("test") where user='root'; # update更新
mysql>?flush privileges;
mysql>?exit;??????
首先,你必須要有操作系統(tǒng)的root權(quán)限了。
類似于安全模式登錄系統(tǒng),
service mysqld stop(要先將mysqld添加為系統(tǒng)服務(wù))
使用mysqld_safe腳本以安全模式(不加載授權(quán)表)啟動(dòng)mysqld 服務(wù)
mysqld_safe --skip-grant-tables &
或者
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
&,表示在后臺(tái)運(yùn)行,不在后臺(tái)運(yùn)行的話,就再打開一個(gè)終端。
使用空密碼的root用戶登錄數(shù)據(jù)庫,重新設(shè)置ROOT用戶的密碼
# mysql
#5.6及以前
mysql>?UPDATE mysql.user SET password=password('test123') WHERE user='root';
# 5.7;mysql.user表authentication_string字段替換了password字段;
mysql> UPDATE mysql.user SET authentication_string=password('test123') WHERE user='root';
mysql>?flush privileges;
mysql>?exit;?
本來mysql是不分大小寫的,但是這個(gè)是修改的mysql中的mysql數(shù)據(jù)庫的具體的值,要注意到。
修改配置文件(/etc/my.cnf),在 [mysqld] 小節(jié)下添加一行:skip-grant-tables=1,讓 mysqld 啟動(dòng)時(shí)不對(duì)密碼進(jìn)行驗(yàn)證
vim /etc/my.cnf
添加:
skip-grant-tables=1
重啟mysql服務(wù)生效,修改方式同上;
修改完成后,在 [mysqld] 小節(jié)下去掉:skip-grant-tables=1
mysql5.7默認(rèn)生成隨機(jī)密碼,在初始化mysql配置時(shí)產(chǎn)生;
mysql 5.7:通過臨時(shí)密碼登陸mysql服務(wù),必須用alter命令修改密碼
mysql> alter user 'root'@'localhost' identified by 'rootroot';
mysql> flush privileges;
免責(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)容。