CentOS下重置MySQL的root密码的教程
作者:海涛zht666 时间:2024-01-25 19:20:40
本人在CentOS6.4上安装万mysql后,无法通过root进入,因为安装的时候,并没有设置root密码,似乎有个初始随机密码,但是不记得了,太麻烦,直接重置root密码。
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
PS:赋予用于root权限
方法一: 修改 /etc/sudoers 文件,找到%wheel一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy
修改完毕,现在可以用tommy帐号登录,然后用命令 sudo su - ,即可获得root权限进行操作。
方法二: 修改 /etc/sudoers 文件,找到root一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 sudo su - ,即可获得root权限进行操作。
方法三: 修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
tommy:x:500:500:tommy:/home/tommy:/bin/bash
修改后如下
tommy:x:0:500:tommy:/home/tommy:/bin/bash
保存,用tommy账户登录后,直接获取的就是root帐号的权限。
root下类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
/etc/init.d/mysqld status
mysqld dead but subsys locked
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
使用rpm包安装完mysql后,按照一下步骤重置root密码:
启动mysql:
#/etc/init.d/mysql start
启动成功后查看mysql进程信息,获取mysqld_safe的安装目录(非常关键):
#ps -ef | grep -i mysql
root 3466 1 0 01:45 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/BSC.TEST.pid
mysql 3569 3466 16 01:45 pts/1 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/BSC.TEST.err --pid-file=/var/lib/mysql/BSC.TEST.pid
root 3597 3105 0 01:45 pts/1 00:00:00 grep -i mysql
可以看到mysqld_safe的安装位置(上面标蓝色部分):/usr/bin/
接着执行一下命令停止mysql:
/etc/init.d/mysql stop
以安全方式启动mysql:
#/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &
稍等5秒钟,然后执行以下语句:
#/usr/bin/mysql -u root mysql
注意:mysql与mysql_safe目录一样,都是:/usr/bin/下,这个是通过“ps -ef | grep -i mysql”命令得到的。
出现“mysql>”提示符后输入:
mysql> update user set password = Password('root') where User = 'root';
回车后执行(刷新MySQL系统权限相关的表):
mysql> flush privileges;
再执行exit退出:
mysql> exit;
退出后,使用以下命令登陆mysql,试试是否成功:
#mysql -u root -p
按提示输入密码:
root
但是执行查看数据库命令报错:
mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
解决办法:
mysql> SET PASSWORD=PASSWORD('root');
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
PS:如果在使用mysqladmin的话:
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
禁止弹窗中蒙层底部页面跟随滚动的几种方法
Python 6种基本变量操作技巧总结
![](https://img.aspxhome.com/file/2023/2/97412_0s.jpg)
分享Pycharm中一些不为人知的技巧
![](https://img.aspxhome.com/file/2023/3/72753_0s.jpg)
如何通过Python收集MySQL MHA 部署及运行状态信息的功能
![](https://img.aspxhome.com/file/2023/3/111363_0s.png)
Golang JSON的进阶用法实例讲解
Python实现从PPT中导出高分辨率图片
![](https://img.aspxhome.com/file/2023/3/134913_0s.png)
SQL Server误区30日谈 第9天 数据库文件收缩不会影响性能
django框架之cookie/session的使用示例(小结)
socket + select 完成伪并发操作的实例
解决pandas read_csv 读取中文列标题文件报错的问题
Mysql 命令行模式访问操作mysql数据库操作
![](https://img.aspxhome.com/file/2023/0/120860_0s.jpg)
JavaScrpt的面向对象全面解析
![](https://img.aspxhome.com/file/2023/0/135590_0s.png)
python爬虫之爬取百度翻译
![](https://img.aspxhome.com/file/2023/6/83926_0s.png)
js阻止浏览器默认行为的简单实例
css中如何使div居中(垂直水平居中)
Go高级特性探究之对象比较详解
详解Python定时器Timer的使用及示例
![](https://img.aspxhome.com/file/2023/3/97773_0s.png)
Windows10下mysql 8.0.19 安装配置方法图文教程
![](https://img.aspxhome.com/file/2023/7/107407_0s.jpg)
深入解析opencv骨架提取的算法步骤
![](https://img.aspxhome.com/file/2023/4/70714_0s.jpg)
python+matplotlib绘制简单的海豚(顶点和节点的操作)
![](https://img.aspxhome.com/file/2023/5/125055_0s.jpg)