欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

程序员文章站 2022-03-09 14:32:25
问题:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)问题描述:在linux中使用mysql -uroot -p 输入密码提示如上错误解决方法: 1、先停掉原来的服务 service ......

问题:error 1045 (28000): access denied for user 'root'@'localhost' (using password: no)
问题描述:在linux中使用mysql -uroot -p 输入密码提示如上错误
解决方法:
1、先停掉原来的服务
  service mysqld stop
2、使用安全模式登陆,跳过密码验证
  mysqld_safe --user=mysql --skip-grant-tables --skip-networking&


  安全模式启动报错,重进mysql报:rror 2002 (hy000): can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2)
  1)、查看mysql.sock的位置是否正确
    /etc/my.cnf中查看,如不是则修改路径为/var/lib/mysql/mysql.sock

  mysql  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

  2)、重新启动mysql服务
    service mysqld restart
  3)、查看服务是否重启成功,并创建一个软链接
    service mysqld status 状态为running 则说明启动成功
    创建软连接 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
  4)、停止服务并重新以安全模式启动
  如还是报一样的错误,请重新启动服务并查看/tmp/mysql.sock软链接的实际文件是否存在,红底闪动表示源文件存在问题

3、登录mysql
  mysql -uroot mysql
4、修改密码
  update mysql.user set authentication_string=password('newpassword') where user='root';
5、刷新权限
  flush privileges;
6、退出mysql
  quit;
7、退出安全模式,已正常模式登录mysql
  查看mysql相关进程 ps aux |grep mysqld
  杀掉mysql所有相关进程 kill -9 进程号
  重新查看mysql进程,如下表示进程杀掉成功
  mysql  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

 

8、重启mysql服务
  service mysqld restart
9、执行其他命令:show databases; 提示如下错误
  you must reset your password using alter user statement
  before executing this statement.

10、重新将密码设置一遍即可

  mysql > set password = password ('newpassword');

其他命令:
1、查看端口号是否已经打开
  lsof -i:3306
2、查找文件或者文件夹命令
  find src type filename filetype 如:find / -name my.cnf 或者 find /var -name mysql -d
3、编辑文件
  vi/vim 文件名 进入文件之后按 i 可对文件进行编辑操作 :w保存文件 :q退出文件 :wq保存退出
4、查看文件尾部
  tail -row 如 tail -50