CentOS下重置MySQL的root密码的教程_Mysql

本人在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: 【输入原来的密码】

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mysql
, 教程
, root密码
MySQL教程
centos mysql密码重置、centos7重置mysql密码、centos重置root密码、centos7 重置root密码、centos6 重置root密码,以便于您获取更多的相关知识。

时间: 2024-10-31 00:30:33

CentOS下重置MySQL的root密码的教程_Mysql的相关文章

CentOS下设置MySQL的root密码

CentOS刚装的MySQL一般需要重设MySQL密码,可以用以下方法重设. 方法一. Js代码  # /etc/init.d/mysqld stop  # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  # mysql -u root mysql   mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';   my

Centos下忘记mysql的root密码的解决方法总结

一:(停掉正在运行的mysql)  代码如下 复制代码 [root@NetDakVPS ~]# service mysqld stop 二:使用 "--skip-grant-tables"参数重新启动mysql  代码如下 复制代码 [root@NetDakVPS ~]# mysqld_safe --skip-grant-tables & [1] 23810 Starting mysqld daemon with databases from /var/lib/mysql 三:

重置MySQL数据库root密码(linux/windows)_Mysql

(1)Linux系统 在SSH中执行下面的命令即可将MySQL密码重置为diavps 复制代码 代码如下: rm -f reset-mysql-root-password.phps wget http://down.hostwiki.info/mysql/reset-mysql-root-password.phps php reset-mysql-root-password.phps diavps 注意不要在带有管理面板(如Kloxo或DA)的环境中使用这个方法重置. 脚本中第13行中的以安全模

在ubuntu中重置mysql服务器root密码的方法_Mysql

首先停止mysql服务: 复制代码 代码如下: root@webserver:/home/webmaster# service mysql stop 接着采用忽略密码认证模式重新创建一个mysql服务: 复制代码 代码如下: root@webserver:/home/webmaster# mysqld --user=mysql --skip-grant-tables --skip-networking & 成功启动后返回PID及其它启动信息 复制代码 代码如下: [1] 3591 root@we

Linux下快速重置MySQL用户(root)密码方法

方法一:最简单的方法,也是安装完MySQL后,系统提示的方法.使用mysqladmin来完成.shell> mysqladmin -u root password "newpwd" shell> mysqladmin -u root -h host_name password "newpwd"password后面的双引号不是必须的,不过如果密码包含空格或者一些特殊的符号,需要用引号.方法二:利用mysql里面的SET PASSWORD命令来完成,注意必须

一键重置mysql的root密码的实现脚本_DOS/BAT

重置mysql的root密码方法有很多,本文介绍的这个是使用批处理来完成的 @echo off title mysql ::从注册表找到Mysql的安装路径写入文件mysql.txt reg query HKLM\SYSTEM\ControlSet001\Services\MySQL | find /I "ImagePath">C:\mysql.txt if %errorlevel% neq 0 ( echo MySQL not found pause exit ) ::以&qu

在linux和windows服务器下忘记mysql的root密码重置方法

文章要介绍关于忘记mysql的root密码重置方法,同时介绍了在不同的操作系统,下面介绍了在linux和windows中的解决办法,有需要了朋友可以了解一下. 如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置: linux操作方法 在my.cnf的[mysqld]字段加入: 代码如下   skip-grant-tables 然后重启你的mysqld,这样久没有密码了. 然后进入mysql. 代码如下  UPDATE mysql.user SET Password=PASSWOR

忘记MySQL的root密码该怎么办_Mysql

在MySQL日常开发或者是维护中,有一些问题或是故障往往是难以避免的,如丢失密码.表损坏.在此总结一下常忘记MySQL的root密码解决办法: 1.登录数据库所在服务器,手动kill掉Mysql进程 关闭进程的命令为:kill 进程号(linux下) 关闭进程的命令为:taskkill 进程号(win下) 怎么查看进程号呢? 我们都知道MySQL的进程号一般都会保存在Mysql数据目录下的,它记录了Mysql的服务进程号.文件名为hostname.pid,如下,其中YEGZT8JOIIU2LKY

MYSQL 修改root密码命令小结_Mysql

一.请问在win2K命令提示符下怎样更改mysql的root管理员密码? >mysql -u root -p Enter password: ****** mysql> use mysql; mysql> update user set password=password('new_password') where user='root'; 通过这种方法就可以直接修改密码了.至于在CMD下能否登陆MySQL,就要在Windows环境变量PATH中添加"C:\Program Fi