ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password:yes)

在liunx下安装完mysql后mysql会有一个临时的密码 , 这个可以去日志查看,但是查看登录密码进行修改后还是不行

centos7 上安装mysql5.7后登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes)

下面我们开始解决这个问题

第一步:停止mysql服务

systemctl stop mysqld.service

 第二步:修改配置文件无密码可以登录

vi /etc/my.cnf

 在最后面添加上

skip-grant-tables

 :wq保存退出

第三步  启动mysql 

systemctl start mysqld.service

 第四步 登录musql   (此处不加  -p)

mysql -u root

 第五步 修改密码  mysql5.7用此语法

use mysql

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

第六步  可以把第二步添加的信息删除掉   

在保存 重启mysql就ok了

========================================================================

其实默认安装完了mysql后或在日志中生成一个默认的密码 /var/log/mysqld.log 中

拿到默认密码后登录mysql  进行密码重新设置

set password=password('you password');

 如果密码级别与默认的级别要求不符时候会报

 Your password does not satisfy the current policy requirements

 可以设置默认密码的位数

set global validate_password_policy=0;
set global validate_password_length=4;

然后在进行设置密码就好了

 mysql;use mysql;  
mysql;select 'host' from user where user='root';  
mysql;update user set host = '%' where user ='root';  
mysql;flush privileges;  
mysql;select 'host'   from user where user='root';

 

你可能感兴趣的:(mysql,数据库,安装mysql5.7,linux,大数据)