MYSQL登录错误:mysqladmin: connect to server at 'localhost' failed
1.mysql登录错误
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
无法修改密码
用 service mysqld stop 输入 mysql -uroot -p 回车进入 输入原密码 > use mysql; > update user set password=PASSWORD("long.com")where user="root"; > 更改密码为 long.com > flush privileges; #更新权限 > quit 退出 service mysqld restart mysql -uroot -p新密码进入
二,忘记本地root的登录密码
解决过程:
1、编辑/etc/my.cnf
在[mysqld] 配置部分添加一行
skip-grant-tables
2、保存后重启mysql
[root@web02 etc]# service mysqld restart
Shutting down MySQL. [ OK ]
Starting MySQL. [ OK ]
3、登录数据库重新设置root密码
[root@web02 ~]# mysql -uroot -p mysql
Enter password:
直接回车进入
执行下列语句
mysql> update user set password=password("mysql") where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
如果执行上一条报错如下:
mysql> update user set password=password("123") where user='root';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
#错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
则改用:
mysql> update mysql.user set authentication_string=password('123') where user='root';
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4、删除/etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql;
用新设的密码就能正常登录了;