阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 11580阅读
  • 18回复

[解决方案]解决Linux主机登陆phpMyAdmin1045错误

级别: 论坛版主
发帖
1784
云币
3327

这个问题出在阿里官方linux版的web一键包中,在使用一段时间后不知道什么原因导致phpMyAdmin登陆失败1045错误提示,在ssh上面登陆mysql也是1045错误。 GlT/JZ9  
错误提示如下:
<.@w%rvG  
  1. ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
首先我想到的办法是进行安全模式进行mysql的root密码重置,结果失败,根本无法进入安全模式,不得不说这也是官方包的安全之处。 6U] "i  
网上一大堆教程说是要重置mysql,我的天,重置了我还得备份数据,再恢复,甚是麻烦!下面详细说一下不进入安全模式的mysql密码修改,不是什么高深的方法,我看论坛没有,就放上来,算是记录一下。 8ePzU c\#  
以下是不进入安全模式修改root密码 4DGKZh'm"  
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在修改的过程中任何人都可以登陆mysql修改用户密码的。 b]WvKdq  
我的办法是停止了apache或是nginx服务。 0B5d$0  
  1. service httpd/nginx stop
2.编辑 my.cnf文件 }sfv zw_  
  1. vi /etc/my.cnf
如下图所示: OJLyqncw  
ksqb& ux6  
\@7 4I7  
我们在[mysqld]的启动选项里面加入 skip-grant-tables 其实就是跳过授权表。(这是方法精髓所在) u z:@  
原代码如下: *jy"g64j  
  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=/alidata/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
更改后的代码如下: 8w3Wy<}y  
  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=/alidata/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
t`x_@pr  
原文件里面有个 skip-external-locking 我在前面加了# 将它注释掉了!
好了,退出并保存 3^F1hCB  
  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库 Sr6?^>A@t  
  1. use mysql;
结果如下: vLcOZ^iK  
Database changed 更改root密码: sO&eV68 [  
  1. UPDATE user SET Password = password ( '新密码' ) WHERE User = 'root';
结果如下: PW-sF  
Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0
刷新数据库 ^aL> /'Y#|  
  1. FLUSH PRIVILEGES;
结果如下: jx];=IC3tt  
Query OK, 0 rows affected (0.00 sec) A) TO<dl  
&_Gu'A({J  
5.将MySQL的登录设置修改回来
  1. vi /etc/my.cnf
G*^4 CJ  
将刚才在[mysqld]的段中加上的skip-grant-tables删除,并把注释的部分改回来。
保存并且退出vi MAG /7T5  
  1. :wq!
6.重新启动mysqld 2ZQ|nwb7  
  1. service mysqld restart
Stopping MySQL: [ OK ] +|spC  
Starting MySQL: [ OK ] :,MI,SwnS  
yc@ :*Z  
最后启动刚才停止的服务 +PHuQ  
  1. service httpd/nginx restart
好了,进入phpmyadmin不再有1045提示了!
g7]g0*gxXW  
  
二、下面是附上进入安全模式后密码修改方法 hmtDw,j  
1、停用mysql服务: 9QN(Wq@  
  1. /etc/rc.d/init.d/mysqld stop
d/Fy0=0  
或者是 s Qa9M  
  1. service mysqld stop
)0 i$Bo  
2、输入命令: g+u5u\k  
  1. mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
v7D3aWoe  
根据环境不同可能会不成功,提示你要进入mysql安装目录进行 \'Ca%j  
那就找到安装目录,我这示例目录是  /alidata/server/mysql  这个常见于阿里服务器的一键安装包。 ( z%t  
命令格式如下: q&EwD(k  
  1. /alidata/server/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
wEbO|S+K1  
3、登入数据库: _1HEGX\  
  1. mysql -u root mysql
5~SBZYI  
没有密码直接进入mysql {:BY IdX  
4、进入mysql F#\+.inO  
  1. use mysql;
Kl+4A}Uo  
结果如下: 5lakP?  
Database changed DBzF\-  
5、更改root密码: ju;Myi}a  
  1. UPDATE user SET Password = password ( '新密码' ) WHERE User = 'root';
<x1H:8A  
结果如下: 3x~AaC.j  
Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 ("j*!Dsd  
刷新数据库 ?nx 1{2[  
  1. FLUSH PRIVILEGES;
\b|Q`)TK  
结果如下: |:d:uj/  
Query OK, 0 rows affected (0.00 sec) R{Qvpd$y  
千万不要忘记在mysql中操作的每条命令后面都要有“;”的。 2/FH9T;e".  
最后退出 +N!!Z2  
  1. mysql> quit
I'16-  
重启mysql u:O6MO9^  
  1. /etc/rc.d/init.d/mysqld restart
>{kPa|  
或者是 G@]|/kN1y  
  1. service mysqld restart
cdsF<tpy  
用root登陆mysql
  1. mysql -uroot –p
  2. Enter password:新密码
U})Z4>[bvt  
pNR69/wGi  
登陆成功! e.^Y4(  
-------------------------------------------完----------------------------- lIF*$#`oh*  
Q\<^ih51  
9k>=y n  
)VCRbz"[g  
[ 此帖被鬼才神兵在2015-11-01 20:59重新编辑 ]
本帖最近评分记录: 1 条评分 云币 +6
小柒2012 云币 +6 我去 这个问题 看着 好麻烦 好长 并没有看完 2015-11-05
关键词: 1045 phpmyadmin
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 沙发  发表于: 2015-10-31
看你code代码用的,我看着就怕
级别: 论坛版主
发帖
1784
云币
3327

只看该作者 板凳  发表于: 2015-10-31
回 1楼(ivmmff) 的帖子
总算是完成了!不容易!
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 地板  发表于: 2015-10-31
回 2楼(鬼才神兵) 的帖子
我看着都累,问题是,幸幸苦苦弄了个代码,妈的,还不美观
级别: 科学怪人
发帖
6261
云币
9942

只看该作者 4楼 发表于: 2015-10-31
你真是人才,拳王拳王你最棒
级别: 论坛版主
发帖
1784
云币
3327

只看该作者 5楼 发表于: 2015-10-31
回 3楼(ivmmff) 的帖子
我的博客里面才夸张呢,直接乱的看不成啊!
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 6楼 发表于: 2015-10-31
回 5楼(鬼才神兵) 的帖子
我的意思是,用《code》《/code》  tm多吃力啊
级别: 论坛版主
发帖
1784
云币
3327

只看该作者 7楼 发表于: 2015-11-01
回 6楼(ivmmff) 的帖子
是很吃力啊,代码不能自动识别,要有这个智能化的东西就好了!
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
级别: 论坛版主
发帖
9349
云币
14165
只看该作者 8楼 发表于: 2015-11-01
回 7楼(鬼才神兵) 的帖子
是呀,能兼容 markdown 就好了
级别: 新人
发帖
15
云币
17
只看该作者 9楼 发表于: 2015-11-04
Re解决Linux主机登陆phpMyAdmin1045错误
mark
级别: 论坛版主
发帖
3414
云币
8980

只看该作者 10楼 发表于: 2015-11-05
我去 这个问题 看着 好麻烦 好长 并没有看完
级别: 论坛版主
发帖
1784
云币
3327

只看该作者 11楼 发表于: 2015-11-15
回 10楼(小柒2012) 的帖子
其实也是新手问题!
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
级别: 新人
发帖
2
云币
1
只看该作者 12楼 发表于: 2015-12-01
Re解决Linux主机登陆phpMyAdmin1045错误
多谢分享!!!!!!!!!!!!!!!!!!!!!
级别: 程序猿
发帖
323
云币
414
只看该作者 13楼 发表于: 2016-01-09
不容易啊
级别: 新人
发帖
1
云币
2
只看该作者 14楼 发表于: 2016-01-10
Re解决Linux主机登陆phpMyAdmin1045错误
问题解决,谢谢分享。
发表主题 回复主题
« 返回列表
«12»
共2页
上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 81 - 44 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)