在Ubuntu下
想要登录mysql数据库
root@JD:~# mysql -uroot -p
报错
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
导致登录数据库不成功
打开文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
找到[mysqld]段,并加入一行“skip-grant-tables”
输入:wq保存并退出
重启数据库服务
service mysql restart
进入数据库,免密码
mysql -uroot -p
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>
问题解决