[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 登陆时出错: [root@centos7 ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 密码忘记了(和刚安装后不知道密码一样) 网上有人说mysql的密码是空密码,其实在mysql5.7版本之后,密码不再是空密码了, 如果是刚安装的,可以在mysql的日志文件找到 grep 'temporary password' /var/log/mysqld.log 补充:如果找到mysql提供的密码,可以使用 mysqladmin -u root -p 'mysql提供的密码' password ‘自己的新密码’ 直接修改mysql的密码,但这种方法存在安全隐患,毕竟密码在命令行上显示了,不建议但不反对。 如果是忘记,修改如下: 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.空密码直接进入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> 进入mysql库; 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并不是没变,数据库位置是变化的; 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.用新的密码再进入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'; 修改当前登录用户 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> 可以看出,密码的复杂度有了很大的要求; 7.修改完成后就可以继续操作mysql了 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> exit Bye (责任编辑:IT) |