mysql 用户名密码登陆不上

问题1:刚安装完mysql,设置了用户名密码root,登陆OK的,后来再连怎么也连不上了

操作步骤:

输入:mysql -uroot -proot

提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

排查1:

  • 直接输入mysql,连接成功
  • show databases; 只有information_schema & test两张表
  • 查了下说是权限不够

排查2:

  • 先stop mysql:service mysqld stop
  • 安全模式启动mysqld_safe --skip-grant-tables &
  • 使用root登陆mysql :mysql  root mysql
  • use mysql;
  • select Host,User,Password from user;
  • 发现localhost这个Host没有配置用户名和密码,难怪= =

修复:

  • update user set Password='root', User='root' where Host='localhost';
  • select Host,User,Password from user;进行确认,localhost已经有了对应的用户名和密码
  • kill掉mysqld_safe,启动mysqld:service mysqld start
  • 使用用户名,密码登陆mysql :mysql -uroot -proot
  • bingo,成功了。

linux安装mysql,启动失败,报错如下,更改配置很小也不行

后来意识到自己的/etc/my.cnf中指定的mysql的basedir在/usr/local下,该分区磁盘很小,更改到/opt/data/小重启,就成功了

原文地址:https://www.cnblogs.com/zhaoxd07/p/5580543.html