mysql5.7.11修改root默认密码

Posted 一谦的视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql5.7.11修改root默认密码相关的知识,希望对你有一定的参考价值。

知道 mysql 出了5.7了,并且网上说性能提高了一两倍,于是在虚拟机上安装了个 CentOS 7,在上面安装 MySQL 5.7

我使用的是 yum安装方式,要求虚拟机能够上网,因为它会在线下载安装包

使用 yum 安装很简单,在能够访问互联网的情况下,执行

yum list |grep mysql

找到可安装的 mysql 软件包,我要安装的是 5.7的客户端和服务端,基本上执行

yum install mysql-community-client

yum install mysql-community-server

 就可以了

本文里重点记录root初始密码的重置办法


mysql5.7 算是安装成功了,但是用之前版本介绍的登录方法都是不成功的:

1)默认 root 密码为空,其实不为空,使用 mysql -u root -p 进行登录失败

2)使用 mysqladmin 进行重置密码,也不成功,因为它要求提供初始密码,但是我本来就不知道初始密码才来重置的,失败

3)使用 mysqld_safe 进行重置,这个更不靠谱,在根目录下执行 find -name mysqld_safe,根本找不到这个文件

4)说在 /root/目录下有一个 .mysql_secret 初始化密码文件,这个也行,这个文件根本就不存在,手动创建之后,使用 mysqladmin 启动也不认这个密码


其实想要重置 5.7 的密码很简单,就一层窗户纸:

1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1

这一行配置让 mysqld 启动时不对密码进行验证

2、重启 mysqld 服务:systemctl restart mysqld

3、使用 root 用户登录到 mysql:mysql -u root 

4、切换到mysql数据库,更新 user 表:

update user set authentication_string = password(‘root‘), password_expired = ‘N‘, password_last_changed = now() where user = ‘root‘;

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

5、退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容

6、重启 mysqld 服务,再用新密码登录即可


另外,MySQL 5.7 在初始安装后(CentOS7 操作系统)会生成随机初始密码,并在 /var/log/mysqld.log 中有记录,可以通过 cat 命令查看,找 password 关键字

找到密码后,在本机以初始密码登录,并且(也只能)通过 alter user ‘root‘@‘localhost‘ identified by ‘root‘ 命令,修改 root 用户的密码为 root,然后退出,重新以root用户和刚设置的密码进行登录即可。

0

以上是关于mysql5.7.11修改root默认密码的主要内容,如果未能解决你的问题,请参考以下文章

Mac EI 10.11.3 MySQL5.7.11 .dmg 安装(便捷设置,密码重置,卸载)

windows下修改Mysql5.7.11初始密码的图文教程

MySql5.7.11 for Windows 安装

如何修改默认的root密码

UBUNTU的默认root密码是多少,修改root密码

ubuntu下root用户默认密码及修改方法