修改mysql root密碼

修改的用戶都以root爲列


一、擁有原來的myql的root的密碼;

方法一:
在mysql系統外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【輸入原來的密碼】

方法二:

用SET PASSWORD命令

mysql -u root

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

mysql> flush privileges;
mysql> exit; 


方法三:
通過登錄mysql系統,
# mysql -uroot -p
Enter password: 【輸入原來的密碼】
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;      


方法四:

在 Navicat for MySQL 下面直接執行  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 


二、忘記原來的myql的root的密碼;

首先,你必須要有操作系統的root權限了。要是連繫統的root權限都沒有的話,先考慮root系統再走下面的步驟。
類似於安全模式登錄系統,有人建議說是pkill mysql,但是我不建議哈。因爲當你執行了這個命令後,會導致這樣的狀況:
/etc/init.d/mysqld status
mysqld dead but subsys locked
這樣即使你是在安全模式下啓動mysql都未必會有用的,所以一般是這樣/etc/init.d/mysqld stop,如果你不幸先用了pkill,那麼就start一下再stop咯。
# mysqld_safe --skip-grant-tables &
&,表示在後臺運行,不再後臺運行的話,就再打開一個終端咯。
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';  


# 但是在5.7版本中不存在password字段,所有我們要用以下修改進行重置密碼

update user set authentication_string=password('new password') where user='root';

 
mysql> flush privileges;
mysql> exit; 

然後重啓mysql即可                      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章