欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

阿里云Linux CentOS 7.2下自建MySQL的root密码忘记的解决方法

程序员文章站 2022-05-29 13:45:42
验证环境: [root@~~/]# rpm -qa | grep mysql mysql-5.6.28-1.el6.x86_64 [root@~~/]# ls...

验证环境:

[root@~~/]# rpm -qa | grep mysql
mysql-5.6.28-1.el6.x86_64
[root@~~/]# lsb_release -a
lsb version:  :core-4.1-amd64:core-4.1-noarch
distributor id: centos
description:  centos linux release 7.2.1511 (core)
release:    7.2.1511
codename:    core
[root@~~/]# uname -r
3.10.0-327.22.2.el7.x86_64

首先确认服务器出于安全的状态,也就是没有人能够任意地连接mysql数据库。

因为在重新设置mysql的root密码的期间,mysql数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改mysql的信息。可以采用将mysql对外的端口封闭,并且停止apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的console上面操作,并且拔掉网线。

修改mysql的登录设置:

在[mysqld]的段中加上一句:skip-grant-tables

[root@~~/]# vi /etc/my.cnf

例如:

[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 

保存并且退出vi。

重新启动mysqld

[root@~~/]# /etc/init.d/mysqld restart 
stopping mysql: [ ok ] 
starting mysql: [ ok ]

登录并修改mysql的root密码

[root@~~/]# mysql
welcome to the mysql monitor. commands end with ; or \g.
your mysql connection id is 1
server version: 5.6.28-log source distribution
copyright (c) 2000, 2015, oracle and/or its affiliates. all rights reserved.
oracle is a registered trademark of oracle corporation and/or its
affiliates. other names may be trademarks of their respective
owners.
type 'help;' or '\h' for help. type '\c' to clear the current input statement.
mysql> use mysql;
mysql> update user set password=password("test") where user='root';
mysql> flush privileges;
mysql> exit; 
bye

将mysql的登录设置修改回来

将刚才在[mysqld]的段中加上的skip-grant-tables删除,保存并且退出vi;

[root@~~/]# vi /etc/my.cnf

保存并且退出vi。

再次重新启动mysqld

[root@~~/]# /etc/init.d/mysqld restart 
stopping mysql: [ ok ] 
starting mysql: [ ok ]

使用新的密码登录,正常登录

如果外网不能访问数据库,可以进行如下操作:

[root@~~/]# firewall-cmd --permanent --zone=public --add-port=3306/tcp 
success
[root@~~/]# firewall-cmd --reload
success

以上所述是小编给大家介绍的阿里云linux centos 7.2下自建mysql的root密码忘记的解决方法,希望对大家有所帮助