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;