您好,登錄后才能下訂單哦!
Linux下修改MySQL的用戶(root)的密碼
在mysql系統外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【輸入原來的密碼】
通過登錄mysql系統,
#?mysql -uroot -p
Enter password: 【輸入原來的密碼】
mysql>use mysql;
set方式;設置永不過期;
mysql>?set password=password('rootroot'); # set設置
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;??????
首先,你必須要有操作系統的root權限了。
類似于安全模式登錄系統,
service mysqld stop(要先將mysqld添加為系統服務)
使用mysqld_safe腳本以安全模式(不加載授權表)啟動mysqld 服務
mysqld_safe --skip-grant-tables &
或者
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
&,表示在后臺運行,不在后臺運行的話,就再打開一個終端。
使用空密碼的root用戶登錄數據庫,重新設置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是不分大小寫的,但是這個是修改的mysql中的mysql數據庫的具體的值,要注意到。
修改配置文件(/etc/my.cnf),在 [mysqld] 小節下添加一行:skip-grant-tables=1,讓 mysqld 啟動時不對密碼進行驗證
vim /etc/my.cnf
添加:
skip-grant-tables=1
重啟mysql服務生效,修改方式同上;
修改完成后,在 [mysqld] 小節下去掉:skip-grant-tables=1
mysql5.7默認生成隨機密碼,在初始化mysql配置時產生;
mysql 5.7:通過臨時密碼登陸mysql服務,必須用alter命令修改密碼
mysql> alter user 'root'@'localhost' identified by 'rootroot';
mysql> flush privileges;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。