ERROR 1045 (28000): Access denied for user…解决mysql错误

我的环境
  • mysql 5.1.73
  • CentOS 6.7

今天安装的mysql数据库,当然要设定一个登录密码,很自然的敲下  mysqladmin -u root -p password “123123”后弹出报错:

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

解决的办法很简单,根据提示,表示密码验证已经打开,那么我们就先把mysql 的登录密码验证关掉,这样就可以进入mysql 的系统,在进入mysql 之后使用命令改变mysql 数据库的root 账号的密码,在退出并开启mysql 的登录密码验证,这样我们就可以使用修改之后的密码来登录mysql 了

 

0x00 关闭mysql 的登录密码验证功能

[root@zhzy /]$ vim /etc/my.cnf
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 

skip-grant-tables ##添加此内容

[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid
[root@zhzy /]$ service mysqld restart ##重启mysql 使其重载配置文件

 

0x01 使用空密码登录mysql

[root@zhzy /]# mysql -u root -p ##直接敲回车就行,我们已经关闭了登录密码验证
mysql> update mysql.user set Password=PASSWORD('freeerror') where User='root'; 
mysql> flush privileges;

 

这时候我的mysql 的root 用户的密码就改成了”freeerror” 了

 

0x02 开启mysql 的密码登录验证,用新密码登录mysql

[root@zhzy /]# vim /etc/my.cnf
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 

#skip-grant-tables # #删除或者注释掉此字段

[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid
[root@zhzy /]# service mysqld restart ##重新启动mysql数据库系统
[root@zhzy /]# mysql -u root -p ##使用密码“freeerror”登陆mysql
到这里mysql 的密码就修改成功了~

1 Comment

  1. red hat 2018年4月4日 at 下午3:32

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0

    #skip-grant-tables

    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid




    1



    1

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注