西数超哥博客
运维经验教程分享

Mysql 5.7初始化以及忘记root密码解决方法

Mysql 5.7和mysql以前版本找回密码不同:

以前版本如果是忘记了root用户的密码,则使用下面的语句修改root密码输入:

update user set Password=Password(‘111111′) where User=’root’;    //按回车,其中111111换成您需要设定新的密码

flush privileges;                                                 //刷新权限

mysql5.7

初始化数据库
# 初始化数据库, 确保 /data/mysql 目录是mysql 可写的。
/usr/local/mysql57/bin/mysqld –defaults-file=/etc/my.cnf –initialize –user=mysql

命令参数解释:
–defaults-file : 指定MySQL配置文件路径 ##这里面有我们刚才配置好的参数
–initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要立刻修改密码
–user: 指定运行用户

启动服务
/usr/local/mysql57/support-files/mysql.server start #启动mysql 服务器

登录数据库
注意:初始化时随机生成了密码,可以去/mysql下的mysql.log 里查看

【root】# cat mysql.log | grep password
2018-09-12T06:28:43.374399Z 1 [Note] A temporary password is generated for root@localhost: dHuSP!;y.3ef
#临时密码登录数据库  (会提示要你修改密码)

/usr/local/mysql57/bin/mysql -uroot  -p “dHuSP!;y.3ef”

      修改密码方法:(建议方法二)

方法一:

mysql>update mysql.user set authentication_string=password(“新密码”);
mysql>flush privileges;

       方法二:

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;
mysql> flush privileges;

忘记MySQL的root密码如何登录
1、在配置文件my.cnf的mysqld端下加skip-grant-tables跳过密码认证

[mysqld]
skip-grant-tables

2、重启服务或重装配置文件

/usr/local/mysql57/support-files/mysql.server  restart

/usr/local/mysql57/support-files/mysql.server reload

3、无密码登录

/usr/local/mysql57/bin/mysql

4、无密码登陆后修改密码

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;
mysql> flush privileges;

     5、删除配置文件里skip-grant-tables (重点:不删除,密码不会生效)

#skip-grant-tables

6、重启服务,或加载配置文件就生效了

#授权10.10.10.1主机用root用户,密码为123123 登录数据库

grant all on *.* to “root”@”10.10.10.1” identified by “123123”;

#授权所有主机可以用root用户远程登陆 ,密码是root

grant all privileges on *.* to ‘root’@’%’ identified by ‘root’ with grant option;

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » Mysql 5.7初始化以及忘记root密码解决方法