昨天学习第11课“主从同步”的视频(L11-11-MySQL主从同步手把手实战操作详解w),再次遇到问题。

[root@Web ~]# mysql -uroot -p'oldboy3307' -S /data/3307/mysql.sock
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

  上个月初学习安装多实例的时候,也遇到过这个报错。查看当时的日记,发现自己整理的文档也有很多问题。2个月之后再看,发现虽然想记录的很详细,但思路还是有些乱。

  根据日记里的记录:使用如下的命令启动数据库服务。

[root@Web ~]# mysqld_safe --defaults-file=/data/3307/my.cnf --skip-grant-table &
[1] 4959
140726 19:04:23 mysqld_safe Logging to '/data/3307/mysql_oldboy3307.err'.
140726 19:04:23 mysqld_safe Starting mysqld daemon with databases from /data/3307/data

  登录数据库后,使用授权语句竟然报错。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "111";
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

  至今也不明白这个报错是什么意思,百度上只是说可以通过刷新权限“flush privileges;”解决。

  尝试正常启动数据库:

[root@Web ~]# /data/3307/mysql start
Starting MySQL...

  使用另外的命令登录数据库,也是报错。

[root@Web ~]# mysql -uroot -p -S /data/3307/mysql.sock -h 127.0.0.1
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

  最后决定,还是直接在数据库里把root密码改了再说。

[root@Web ~]# mysqld_safe --defaults-file=/data/3307/my.cnf --skip-grant-table &
[1] 5535
140726 19:15:56 mysqld_safe Logging to '/data/3307/mysql_oldboy3307.err'.
140726 19:15:56 mysqld_safe Starting mysqld daemon with databases from /data/3307/data[root@Web ~]# netstat -lnt|grep 330
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN
[root@Web ~]# mysql -uroot -S /data/3307/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.62-log Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> select user,host,password from mysql.user;
+-------+-------------+-------------------------------------------+
| user  | host        | password                                  |
+-------+-------------+-------------------------------------------+
| root  | %           | *007FFCA4271EE782CBEE4DB65344C906C10915BB |
| root  | localhost   | *007FFCA4271EE782CBEE4DB65344C906C10915BB |
| root  | 127.0.0.1   | *007FFCA4271EE782CBEE4DB65344C906C10915BB |
| user2 | localhost   | *12A20BE57AF67CBF230D55FD33FBAF5230CFDBC4 |
| rep   | 192.168.1.% | *FE28814B4A8B3309DAC6ED7D3237ADED6DA1E515 |
+-------+-------------+-------------------------------------------+
5 rows in set (0.00 sec)mysql> update mysql.user set password=PASSWORD('123456') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0mysql> quit
Bye

  看到没有,修改密码之后我竟然没有刷新权限。结果,登录的时候就容易出现问题。当然,不是一定会出现问题。

  我这里修改密码为“123456”之后,登录数据库是没有问题的。但是,在数据库里再次把密码修改为“oldboy3307”,退出再次登录数据库,就又报错了。

  把数据库的root密码再次修改为“123456”之后,再来一遍:

[root@Web ~]# mysql -uroot -p'123456' -S /data/3307/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.62-log Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> update mysql.user set password=PASSWORD('oldboy3307') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> quit
Bye
[root@Web ~]# mysql -uroot -p'oldboy3307' -S /data/3307/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.62-log Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> quit
Bye

  这次,最后的问题,似乎是没有刷新权限的原因。但是,看起来这又好像只是表象。

  刚才登录数据库还一切正常,为什么退出之后就不能登录了呢?为什么修改密码之后,就又可以登录了呢?为什么有时候在修改密码之后,即使没有刷新权限也可以登录数据库,有时候又不能登录呢?

  保留这些问题,慢慢研究。

  整理出这个文档,这是我目前唯一能做的了。

转载于:https://blog.51cto.com/gagarin/1530937

登录多实例MySQL失败,修改密码临时解决,原因不明相关推荐

  1. win安装完mysql,不知道临时密码怎么办,如何获取临时密码?密码是多少?mysql如何修改密码?解决方法来了。

    其实,当你的mysql安装完以后,临时密码肯定出现过,只是你没有注意到,又或者第一次你的命令没有加–console让他打印出来,后来你加了他也不打印了. 来看看解决方法. 1.首先,当我们输入mysq ...

  2. 在Linux环境下mysql的root密码忘记解决方法 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 2.修改MySQL的登录设置: # vi /etc/my.c

    在Linux环境下mysql的root密码忘记解决方法 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 2.修改MySQL的登录设置: # vi /etc/my.cnf ...

  3. mysql数据库修改密码

    在使用数据库时,MySQL 需要修改密码的情况. 1. 使用 SET PASSWORD 命令 输入命令mysql -u root -p指定 root 用户登录 MySQL,输入后按回车键输入密码.如果 ...

  4. mysql数据库修改密码的几种方法(用命令修改)

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...

  5. mysql 初始化修改密码问题

    文章目录 mysql 初始化修改密码问题 mysql 初始化修改密码问题 在使用二进制安装完成 MySQL 之后(这里二进制安装时是执行的没有设置初始密码的),安装详情可参考:https://blog ...

  6. C#窗体程序连接SQL Server数据库实现账号登录、账号注册、修改密码、账号注销和实名认证(不定时更新)

    目录 一.配置数据库文件和程序代码 二.配置C#窗体控件布局和源代码 1.窗体Form1:账号登录界面 2.窗体Form2:账号注册界面 3.窗体Form3:主界面 4.窗体Form4:修改密码界面 ...

  7. MySql数据库修改密码【详细教程】

    MySql数据库修改密码[详细教程] 一.找到mysql的安装路径 找到mysql的bin文件夹所在的路径. [TIPS] 如果忘了具体的文件路径,可以点开始- >搜索,输入 services. ...

  8. linux下mysql的root密码忘记解决方

    linux下mysql的root密码忘记解决方 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没 ...

  9. 在Linux环境下mysql的root密码忘记解决方法(三种)

    这篇文章主要介绍了在Linux环境下mysql的root密码忘记解决方法,详细的介绍了3种解决办法,具有一定的参考价值,有兴趣的可以了解一下. MySQL密码的恢复方法之一 1.首先确认服务器出于安全 ...

最新文章

  1. 循环语句——7月23日
  2. 有哪些LSTM(Long Short Term Memory)和RNN(Recurrent)网络的教程?
  3. Java在加载阶段会加载依赖吗,Java程序编译和运行过程之 一个对象的生命之旅(类加载和类加载器)...
  4. CSS之flex需要知道的一切(二)
  5. 将一个数组中不重复_你不知道的解法:数组中重复的数字
  6. GCD三部曲之一---辗转相除法
  7. 【机器学习-西瓜书】六、支持向量机:核技巧;软间隔;惩罚因子C;松弛变量
  8. Atitit 微信开发文档总结获取token和菜单管理功能 /bookmarksHtmlEverythingIndexPrj/src/com/attilax/wechatToto/wechatMen
  9. 微信小程序之海报生成
  10. 总结命令行05:Kafka
  11. 室内设计软件除了常用的几款还有7…
  12. python-使用API来探索GitHub上星级最高的项目
  13. 基于深度学习的无人驾驶道路检测
  14. 如何把单词批量导入金山词霸生词本?
  15. WEB安全基础 - - - XRAY使用
  16. (转载)MySQL数据库的主键和外键详解
  17. CryENGINE3系列总结教程之UI/HUD(一)制作生命条弹药条Flash部分
  18. 【Python】map函数的具体做法。Python3运行map函数后,报错提示“map object at 0x00C42E50”(可能是其他0x********),解决方法
  19. 从服务端下载文件到本地windows
  20. hyperMILL2018刀具库模板

热门文章

  1. ITK:提取二进制图像中斑点的内部和外部边界
  2. 与C ++中的QML对象进行交互
  3. Qt Creator调试器故障排除
  4. 经典C语言程序100例之九三
  5. c++ 预处理命令 #if, #ifdef, #ifndef, #else, #elif, #endif用法
  6. c++TCP的三次握手和四次挥手
  7. java 很垃圾_JAVA吧真的很垃圾!!!
  8. 11gpath失败 oracle_Oracle 11gR2执行DBCA报错误
  9. 20、21_链式法则、MLP(多层感知器模型)反向传播
  10. Hibernate延迟加载