詳解mysql5.7密碼忘記解決方法
ENV:
[root@centos7 ~]# uname -r 3.10.0-514.el7.x86_64 [root@centos7 ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@centos7 ~]# rpm -qa mysql [root@centos7 ~]# rpm -qa |grep mysql mysql-community-common-5.7.26-1.el7.x86_64 mysql-community-client-5.7.26-1.el7.x86_64 mysql57-community-release-el7-11.noarch mysql-community-server-5.7.26-1.el7.x86_64 mysql-community-libs-5.7.26-1.el7.x86_64 mysql-community-libs-compat-5.7.26-1.el7.x86_64
登陸時(shí)出錯(cuò):
[root@centos7 ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
密碼忘記了(和剛安裝后不知道密碼一樣)
網(wǎng)上有人說mysql的密碼是空密碼,其實(shí)在mysql5.7版本之后,密碼不再是空密碼了,
如果是剛安裝的,可以在mysql的日志文件找到
grep 'temporary password' /var/log/mysqld.log
補(bǔ)充:如果找到mysql提供的密碼,可以使用
mysqladmin -u root -p 'mysql提供的密碼' password ‘自己的新密碼'
直接修改mysql的密碼,但這種方法存在安全隱患,畢竟密碼在命令行上顯示了,不建議但不反對(duì)。
如果是忘記,修改如下:
1.修改 /etc/my.cnf,加入 skip-grant-tables;
[root@centos7 ~]# vim /etc/my.cnf
空白位置加入,并保存退出;
[mysqld] skip-name-resolve skip-grant-tables
[root@centos7 ~]# systemctl restart mysqld
2.空密碼直接進(jìn)入mysql;
[root@centos7 ~]# mysql -u root -p Enter password: (這里是空密碼,直接回車) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.26 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
進(jìn)入mysql庫(kù);
mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql>
這里的mysql并不是沒變,數(shù)據(jù)庫(kù)位置是變化的;
3.修改密碼:UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql>
4改回/etc/my.cnf
注釋掉 #skip-grant-tables
[root@centos7 ~]# vim /etc/my.cnf
[mysqld] skip-name-resolve #skip-grant-tables
[root@centos7 ~]# systemctl restart mysqld
5.用新的密碼再進(jìn)入mysql;
[root@centos7 ~]# mysql -u root -p Enter password: (之前演示為newpassword) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.26 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
6.更改root密碼,更改root密碼: alter user 'root'@'localhost' identified by '密碼';
修改用戶密碼;
ALTER USER testuser IDENTIFIED BY '123456';
修改當(dāng)前登錄用戶
ALTER USER USER() IDENTIFIED BY '123456';
mysql> alter user user() identified by 'Linuxpassword!@#'; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql> alter user user() identified by 'LINUX123password!@#'; Query OK, 0 rows affected (0.00 sec) mysql>
可以看出,密碼的復(fù)雜度有了很大的要求;
7.修改完成后就可以繼續(xù)操作mysql了
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> exit Bye
以上所述是小編給大家介紹的mysql5.7密碼忘記解決方法詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)本站網(wǎng)站的支持!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。