忘记root密码的解决办法
1.初次安装mysql没设置密码的登录解决方法
[root@fay50 ~]# tar -xf mysql-5.7.17.tar
[root@fay50 ~]# LANG=EN growpart /dev/vda 1 //扩容空间
[root@fay50 ~]# xfs_growfs /dev/vda1 //扩容文件类型
[root@fay50 ~]# df -h //查看分区空间是否足够
[root@fay50 ~]# tar -xf mysql-5.7.17.tar
[root@fay50 ~]# yum -y install my
[root@fay50 ~]# yum -y install mysql-community-*.rpm //安装mysql软件
[root@fay50 ~]# systemctl restart mysqld //启动mysql服务
[root@fay50 ~]# systemctl enable mysqld //设置mysql服务开机自启
[root@fay50 ~]# netstat -atunlp | grep 3306 //查看服务的端口状态
[root@fay50 ~]# grep ‘password’ /var/log/mysqld.log //查看初始密码
2019-06-18T08:32:30.635260Z 1 [Note] A temporary password is generated for root@localhost: gquNiVw4yl.L //冒号后面就是密码
[root@fay50 ~]# mysql -uroot -p’gquNiVw4yl.L’ //用初始密码登录mysql
mysql> alter user root@“localhost” identified by “123qqq…A” ; //使用alter 命令,更改登录密码
mysql> exit
[root@fay50 ~]# mysql -uroot -p’123qqq…A’ //新密码登录成功
2.mysql使用中,忘记root登录密码
[root@fay53 ~]# systemctl stop mysqld //先停止mysql服务
[root@fay53 ~]# vim /etc/my.cnf //修改主配置文件
[mysqld]
skip-grant-tables //跳过授权表登录
[root@fay54 ~]# systemctl restart mysqld //重启服务
[root@fay54 ~]# mysql //跳过授权表,免密码登录
mysql> update mysql.user set authentication_string=password(“123qqq…A”) //设置新的root密码
-> where
-> user=“root” and host=“localhost”;
mysql> flush privileges; //重新加载
mysql> exit
[root@fay54 ~]# mysql -uroot -p123qqq…A -e “create database db2”
mysql: [Warning] Using a password on the command line interface can be insecure.
//用新密码创建数据库成功,只提示在命令行输入密码不安全,实验环境可忽略这个提示
3.已知现有root密码,修改root密码
修改root密码
[root@fay52 ~]# mysqladmin -uroot -p password “123qqq…A” //修改root的新密码
Enter password: //输入旧密码才能修改成功
[root@fay52 ~]# mysql -uroot -p123qqq…A //登录成功