1,修改 /etc/my.cnf,加入 skip-grant-tables;
vim /etc/my.cnf
在最下面增加一行skip-grant-tables
wq保存
2,进入mysql
mysql -u root -p
回车
3,用语句修改密码
mysql> use mysql;
mysql> UPDATE user SET authentication_string=PASSWORD(‘新密码’) where USER=‘root’;
新密码由你自己定义。
4,验证密码有没有修改成功
修改 /etc/my.cnf配置文件
把之前的 skip-grant-tables注释掉
#skip-grant-tables;
wq保存退出
5 使用新密码登录数据库
[root@centos7 ~]# mysql -u root -p
新密码
7,题外话
有时候数据库没连接上可能是远程的原因 ,mysql -u root -p 密码 -h 你现在主机ip地址
如果还不行的话,skip-grant-tables;跳过权限认证,然后
首先查询目前权限:
mysql>use mysql;
mysql> SELECT User, Password, Host FROM user;
mysql>grant all privileges on . to ‘root’@’%’ identified by ‘oa123456’ with grant option;
mysql>flush privileges;
再次查询权限,如果权限没问题,查看防火墙和selinux配置。