您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql用戶名root密碼遺忘怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
講到用戶了,就先說說mysql的用戶權限吧.5.7開始,有了很多改變:
1.用戶長度變了.5.7.8以后的用戶長度為32個字符,5.7.8以前的用戶長度為16個字符,5.6我記得好像是8? 忘了.咳咳
2. mysql_native_password插件默認啟用,且password以后將慢慢移除.在mysql.user里面password字段已經木有了,轉而通過plugin字段的加密算法將密碼加密后的字符存儲在authentication_string字段;
3.5.7.4以后用戶的密碼可以設置有效期,在有效期到了之后,會要求重新設置密碼;
4.5.7.6開始,create和alter user可以鎖定用戶,鎖定后,用戶將不能訪問mysql.如:ALTER USER 'jeffrey'@'localhost' ACCOUNT LOCK;
5.5.7.5開始,mysql提供了ssl和RSA通信證書, auto_generate_certs和sha256_password_auto_generate_rsa_keys參數控制,但必須在啟動之前設置;
6.5.7的初始化與之前的比也有了變化.刪除匿名用戶,初始化的時候只保留了root@'localhost'和mysql.sys@'localhost'兩個用戶.且也沒有了test這個庫;
7.5.7.8開始增加了一個super_read_only的參數, 目的是除了root用戶的supper用戶都設為只讀;
8.以前grant可以將沒有的用戶直接新增創建并賦權,在5.7默認模式(sql_mode)下,是不能通過grant來新增新用戶,必須先create user之后在grant權限;
參考官方手冊:http://dev.mysql.com/doc/refman/5.7/en/security.html
普通用戶修改,就不細說了,登陸擁有super用戶的直接如下語句修改:
alter user user_name@'host' identified by 'password';
主要說下root密碼的修復,2種方法:
1.常規方法:
在啟動的時候在my.cnf加上skip-grant-tables參數,或者啟動選項--skip-grant-tables,然后進入mysql修改mysql密碼,在重啟mysql服務即可;網上這種帖子很多,不細說;
2.黑科技(不停機修改):
這種方法不推薦,但絕對好用,是跟某位大牛那學來的.
mysql到目前5.7的mysql.user表都是myisam引擎(據說8.0以后就是innodb了).提到myisam引擎,大家都知道myisam的表的數據都是放在.MYD里面的.所以,黑科技來啦;
1.進入data/mysql目錄,復制user表的3個文件到另外的庫,cp -a user* ../databasename1/
2.需要有操作databasename1庫中表權限的用戶,連上databasename1庫,直接更改root用戶密碼為空:update user set entication_string='' where user='root'; 最后檢查一下select user,host,entication_string from databasename1 where user='root';
3.在將databasename1目錄的user的3個文件覆蓋原mysql庫下面的文件. cp -a data/databasename1/user* data/mysql/
4.這個時候還不能直接登錄,因為修改用戶密碼后,需要flush privileges講新密碼刷進內存.我們已經沒有super用戶來flush了,而且也不能停機,這可怎么辦??? 大招來了,kill -HUP pid,在操作系統執行該命令,注意pid是mysql的pid不是ppid,別把父進程給掛起了.具體HUP的功能,百度吧.不細說.
到這就大功告成了,這個時候就可以用root以無密碼狀態登陸,在進去修改root的密碼.ok.收工!
這個方法的知識點:首先myisam是的數據是存儲在文件里面的,而且是可以通過復制直接將表結構,數據,索引都copy利用,所以這也是一個安全隱患點,mysql目錄的權限一定得控制好啊.其次就是kill -HUP pid 發起一個掛起信號,然后mysqld_safe會監控到掛起,就重新加載配置文件,對線上業務是沒有任務影響的,不會出現閃斷之類的情況出現.
關于“mysql用戶名root密碼遺忘怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。