ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
在Ubuntu下
想要登录mysql数据库
root@JD:~# mysql -uroot -p
报错
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
导致登录数据库不成功
打开文件
Ubuntu 14.04下apt-get安装mysql,登陆无法登陆,报错信息这样描述:在用命令(sudo apt-get install mysql-server mysql-client)安装完.mysql服务即开始运行了.此时需要修改root密码,但经常会出现这么一种情况.’Access denied for user ‘root’@’localhost’ (using password: YES)’ 或者其他致使无法登录mysql的情况。
解决方法:
1.打开/etc/mysql/debian.cnf文件,里面存储了相关的密码,我的文件信息如下
sudovi /etc/mysql/debian.cnf# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = 6x1XG2B5p75WtFV2
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = 6x1XG2B5p75WtFV2
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
在[client]段有user=以及password=这两行,这就是通过apt-get安装mysql,系统给我们设置的mysql登录名和密码
输入命令:
mysql -u debian-sys-maint -p
#debian-sys- maint即debian.cnf中user=后面的内容.回车后会提示输入密码,此时把password=后面的内容复制粘贴后回车即可进行mysql 控制台
use mysql;
update mysql.user set authentication_string=password('新密码') where user='root'and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 英文输入环境下,敲 i 键,进入插入模式
#上下左右键移动光标,确保 bind-address = 127.0.0.1没有被注释掉
#英文输入环境下,敲Esc键,输入:wq 保存退出
回到 vim /etc/mysql/mysql.conf.d/mysqld.cnf将刚才加入的那一行“skip-grant-tables”注释或删除掉。
再次重启mysql服务 service mysql restart,使用新的密码登陆,修改成功
mysql -u root -p
#新密码
mysql>
问题解决