Mysql root 账号如何重置密码 |
您所在的位置:网站首页 › 如何修改excel图表中的纵坐标数值格式不变化 › Mysql root 账号如何重置密码 |
今日分享主题:mysql root账号如何重置密码 前两天发现我的 mysql 数据库突然无法登录,但是上周还使用得是正常的,经过一番查找还是没有找到问题的原因。 DBA 给我的解释:我怀疑主机重启后,某些文件(user.*)就丢了,不知道啥原因。我记得之前你也是重启后遇到过相同问题。 既然这样,只好重置 root 账号密码了。具体操作步骤如下
Step1:停止 mysql 服务 命令:systemctl stop mysqld #停掉MySQL 命令:systemctl status mysqld #查看状态 Step2:修改/etc/my.cnf配置,添加 skip_grant_tables=1 启动设置,注意要在[mysqld]行所在的下面添加。
Step3:重启 mysql 并查看状态 systemctl start mysqld systemctl status mysqld
Step4:使用 mysql 命令连接到 mysql 服务器,重新设置root密码 use mysql #进入mysql数据库 select * from user#查询user表 查看是否有root账号,如果没有就需要操作如下insert into 语句: 如果 user 表里面有 root 账号,则直接可以重置密码。 命令如下:update user set authentication_string=password('test123') where user='root' FLUSH PRIVILEGES#刷新授权列表 再输入 exit 退出mysql
Step5:将步骤2中/etc/my.cnf 文件中添加的 skip_grant_tables=1 启动设置去掉,再执行一个systemctl restart mysql 命令重启 mysql 服务。
Step6:使用重置后的密码再登录时问题解决。 1.修改MySQL的登录设置:
# vim /etc/my.cnf
在[ mysqld ]的段中加上一句: skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
2.重新启动mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
3.登录并修改MySQL的root密码
# mysql
Welcome to the MySQL monitor. Commands end with or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help' or '\h' for help. Type '\c' to clear the buffer.
mysql USE mysql
Database changed
mysql UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root'
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql flush privileges
Query OK, 0 rows affected (0.01 sec)
mysql quit
4.将MySQL的登录设置修改回来
# vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vim
5.重新启动mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ] 安装好mysql后,找到 /var/log 目录,打开 mysqld.log 文件,找到有password的地方,可以看到root账户的密码
cat /var/log/mysqld.log | grep password
使用该密码,可以登录root账户 mysql数据库密码忘记了,第一可以通过修改文件配置来重新设置密码,第二可以重新下载mysql就可以重新设置密码了。在我们使用数据库的时候通常都会使用root用户登录,所以就需要设置密码,但是这个密码是不可见的,而且在使用Navicat Premium连接数据库的时候也需要使用密码才可以连接。当我们忘记密码时,我们有两种办法来解决。 第一打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址,按win+R打开cmd命令提示符并进入刚刚所复制的路径中,输入命令mysqld --skip-grant-tables,然后敲回车,此时就跳过了用户验证过程,注意:输入此命令之后该命令窗口就无法操作了,此时应该从新再打开一个新的命令窗口。在输入此命令之前先在任务管理器中(ctrl+alt+del)结束mysqld.exe进程。然后直接在命令行输入mysql,不需要带任何登录参数和密码,直接回车就可以登录上数据库。 输入show databases;可以看到所有数据库的内容就说明已经登录成功了,就可以使用了。如果想更改root密码,输入update user set password=password('123456') where user='root' and host='localhost'就可以修改密码了。 第二可以将电脑中的mysql文件夹和程序都删除,重新下载并配置mysql,这样你的数据库就是一个新的无密码的数据库了。 欢迎分享,转载请注明来源:内存溢出 原文地址:https://outofmemory.cn/zaji/6142064.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |