mysql的root怎么样都无法重置密码

回复 收藏
在/etc/my.cnf 添加了skip-grant-tables  以安全模式免密码登陆时没有问题(mysql的库是在),然后在mysql里面重置了密码后退出,将刚才在/etc/my.cnf的配置去掉后重启mysql服务,用重置了的正确密码一直提示密码不正确。。。后来发现不加skip-grant-tables的配置也可以无密码登陆Mysql,show database;还要丢失mysql的库,这是啥问题



1.png 2.png 3.png 4.png
2015-12-20 12:17 举报
已邀请:
0

Landon

赞同来自:

忘记密码,修改密码的方法
(1)编辑mysql主配置文件 my.cnf
# vim /etc/my.cnf 在[mysqld]字段下添加参数 skip-grant
(2)重启数据库服务
service mysqld restart
(3)这样就可以进入数据库不用授权了
# /usr/local/mysql/bin/mysql -uroot
(4)修改相应用户密码
> use mysql;
> update user set password=password('your password') where user='root';
> quit;
0

wsw13640218682

赞同来自:

本帖最后由 wsw13640218682 于 2015-12-20 13:23 编辑
Landon 发表于 2015-12-20 13:13
忘记密码,修改密码的方法
(1)编辑mysql主配置文件 my.cnf
# vim /etc/my.cnf 在[mysqld]字段下添加参 ...

这个故障其实都几个月找不到解决方法,你说的方法,在之前我已经还试过了,无效
0

阿铭 管理员

赞同来自:

我觉得像是你在做 “忘记root密码怎么办”实验的时候,把mysql库里面的user表给损坏了,数据丢失了。 解决这个问题的办法是,先把mysql库重命名,然后重新初始化一下。
0

wsw13640218682

赞同来自:

本帖最后由 wsw13640218682 于 2015-12-24 15:42 编辑
阿铭 发表于 2015-12-24 13:41
我觉得像是你在做 “忘记root密码怎么办”实验的时候,把mysql库里面的user表给损坏了,数据丢失了。 解决 ...

感谢铭哥,终于可以了.原来就是那么几个步骤解决了,之前我一直用搜索引擎和问其他人都解决不了.现在可以使用新密码登录进入 那被重命名原来的mysql1应该没有用了吧?
mysql> use mysql;
Database changed
mysql> update user set password=password ('12345')  where user='root';
Query OK, 2 rows affected (0.16 sec)
Rows matched: 3  Changed: 2  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)

mysql> quit
Bye

[root@mail 15:06:02 ~]# mysql -uroot -p123456
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@mail 15:06:14 ~]# mysql -uroot -p12345
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.40-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| mysql1             |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql>

0

summer123

赞同来自:

先把mysql库重命名,然后重新初始化一下。什么意思?
0

wsw13640218682

赞同来自:

本帖最后由 wsw13640218682 于 2015-12-24 16:41 编辑
summer123 发表于 2015-12-24 16:17
先把mysql库重命名,然后重新初始化一下。什么意思?

我是用编译安装指定datadir目录(这就是mysql的数据库)是/data/mysql,cd进去用mv来重命名 ,然后进去你的mysql的安装目录里的bin目录下执行:./mysql_install_db --user=mysql --datadir=/data/mysql


0

Landon

赞同来自:

你对mysql 完全不熟几天前我就给你解决办法了
0

wsw13640218682

赞同来自:

Landon 发表于 2015-12-24 16:48
你对mysql 完全不熟几天前我就给你解决办法了

你给我那个方法,我早之前已经试过了不行..我的内容亦都描述了故障情况..我还没有报铭哥的课程前在度娘等搜索引擎的方法试过了就是不行,但就没有铭哥说的方法,这个故障我已经尝试过了几个月,后来就放着先了,直到铭哥说的方法一做就搞定,我就是没有给mysql的库重新命名,后面的初始化数据库试过了
0

297168738

赞同来自:

你这是在真实的服务器上做吗?没看明白,先收藏了遇到问题在看。
0

wsw13640218682

赞同来自:

297168738 发表于 2015-12-30 00:58
你这是在真实的服务器上做吗?没看明白,先收藏了遇到问题在看。

这是我自学的时候在台式机上的mysql误操作引起的故障,所以mysql很脆弱的,有一些的操作不当就会导致mysql故障了
0

默写

赞同来自:

感谢分享~
0

wsw13640218682

赞同来自:

297168738 发表于 2015-12-30 00:58
你这是在真实的服务器上做吗?没看明白,先收藏了遇到问题在看。

我是在台式机上做发生的故障,即使在真是服务器上出现这故障是很麻烦,需要修改mysql的数据是无法操作的

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: