欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
快捷导航
搜索
查看: 8099|回复: 3

[已解决] Linux下mysql密码忘记修改办法,解决mysql登陆1045错误

[复制链接]

22

主题

5

好友

7629

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
14685
威望
7629
发表于 2015-10-23 05:13:30 |显示全部楼层 |未分类
本帖最后由 苇子 于 2015-10-23 16:48 编辑

今天一个朋友的服务器在登陆phpmyadmin的时候提示1045错误,然后进入ssh后登陆数据库仍是1045错误。网上找了各种办法都不成功。

提示如下:

  1. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
复制代码

首先我想到的是进入安全模式进行密码重置,虽没有成功, 但我还是附上方法:

1、停用mysql服务:

  1. /etc/rc.d/init.d/mysqld stop
  2. 或者是
  3. service mysqld stop
复制代码

2、输入命令:

  1. mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
复制代码

根据环境不同可能会不成功,提示你要进入mysql安装目录进行

那就找到安装目录,我这示例目录是  /webserver/mysql  这个常见于阿里服务器的一键安装包。

命令格式如下:

  1. /webserver/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
复制代码

3、登入数据库:

  1. mysql -u root mysql
复制代码

没有密码直接进入mysql

4、进入mysql

  1. use mysql;
复制代码

结果如下:
Database changed

5、更改root密码:

  1. UPDATE user SET Password = password ( '新密码' ) WHERE User = 'root';
复制代码

结果如下:

Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0
刷新数据库

  1. FLUSH PRIVILEGES;
复制代码

结果如下:
Query OK, 0 rows affected (0.00 sec)
千万不要忘记在mysql中操作的每条命令后面都要有“;”的。

最后退出

  1. mysql> quit
复制代码

重启mysql

  1. /etc/rc.d/init.d/mysqld restart
  2. 或者是
  3. service mysqld restart
复制代码

用root登陆mysql

  1. mysql -uroot –p
  2. Enter password:新密码
复制代码

登陆成功!

下面我要说的方法是上面这种方法不成功的时候的解决办法,这个才是本文的重点!

也不是什么新方法,很多人其实也都会的。

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在修改的过程中任何人都可以登陆mysql修改用户密码的。

我的办法是停止了apache或是nginx服务。

2.编辑 my.cnf文件

  1. vi /etc/my.cnf
复制代码

如下图所示:

QQ截图20151023025148.png

我们在[mysqld]的启动选项里面加入 skip-grant-tables 其实就是跳过授权表。

原代码如下:

  1. [client]
  2. port            = 3306
  3. socket          = /tmp/mysql.sock
  4. [mysqld]
  5. port            = 3306
  6. socket          = /tmp/mysql.sock
  7. skip-external-locking
  8. log-error=/webserver/log/mysql/error.log
  9. key_buffer_size = 16M
  10. max_allowed_packet = 1M
  11. table_open_cache = 64
  12. sort_buffer_size = 512K
  13. net_buffer_length = 8K
  14. read_buffer_size = 256K
  15. read_rnd_buffer_size = 512K
  16. myisam_sort_buffer_size = 8M
复制代码

修改后如下:

  1. [client]
  2. port            = 3306
  3. socket          = /tmp/mysql.sock
  4. [mysqld]
  5. port            = 3306
  6. socket          = /tmp/mysql.sock
  7. skip-grant-tables
  8. #skip-external-locking
  9. log-error=/webserver/log/mysql/error.log
  10. key_buffer_size = 16M
  11. max_allowed_packet = 1M
  12. table_open_cache = 64
  13. sort_buffer_size = 512K
  14. net_buffer_length = 8K
  15. read_buffer_size = 256K
  16. read_rnd_buffer_size = 512K
  17. myisam_sort_buffer_size = 8M
复制代码

原文件里面有个 skip-external-locking 我在前面加了# 将它注释掉了!并在前面增加 skip-grant-tables

好了,退出并保存

  1. :wq!
复制代码

3.重新启动mysqld

  1. service mysqld restart
复制代码

结果如下:
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码

  1. 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
  1. use mysql;
复制代码

结果如下:
Database changed

更改root密码:

  1. UPDATE user SET Password = password ( '新密码' ) WHERE User = 'root';
复制代码

结果如下:

Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0
刷新数据库

  1. FLUSH PRIVILEGES;
复制代码

结果如下:
Query OK, 0 rows affected (0.00 sec)
5.将MySQL的登录设置修改回来

  1. vi /etc/my.cnf
复制代码

将刚才在[mysqld]的段中加上的skip-grant-tables删除,并把注释的部分改回来。
保存并且退出vi

  1. <font face="微软雅黑"><font size="3">:wq!</font></font>
复制代码
6.重新启动mysqld
  1. service mysqld restart
复制代码

Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

最后启动刚才停止的服务

  1. service httpd restart
  2. service nginx restart
复制代码

好了,进入phpmyadmin不再有1045提示了!

-----------------------------------------------------完---------------------------

102

主题

24

好友

1万

积分

腾讯云论坛管理组

Rank: 20Rank: 20

云币
83286
威望
16339
发表于 2015-10-23 09:33:40 |显示全部楼层
感谢楼主分享

点评

苇子  您的支持就是我的动力  详情 回复 发表于 2015-10-23 16:52
回复

使用道具 举报

22

主题

5

好友

7629

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
14685
威望
7629
发表于 2015-10-23 16:52:03 |显示全部楼层
Vtrois 发表于 2015-10-23 09:33
感谢楼主分享

您的支持就是我的动力
回复

使用道具 举报

35

主题

13

好友

7754

积分

资深攻城师[LV4]

Rank: 4

云币
12238
威望
7754
发表于 2015-12-3 02:50:22 |显示全部楼层
这个帖子堪称完美,非常适合新手在搭建环境时进行参考的说明。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2020-10-23 13:47 , Processed in 1.156090 second(s), 35 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部