当前位置:   article > 正文

MySQL1045错误解决方法(ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes))_no connection. trying to reconnect... error 1045 (

no connection. trying to reconnect... error 1045 (28000): access denied for

MySQL1045错误解决方法(ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes))
登录数据库时,发现数据库连接不上,报错如下:
在这里插入图片描述
解决办法
首先,停止MySQL服务

service mysqld stop
  • 1

修改mysql数据库密码
修改MySQL的登录设置:

vim /etc/my.cnf
  • 1

在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
在这里插入图片描述
3.重新启动mysqld
service mysqld restart 或者 service mysql restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
或者出现:
Redirecting to /bin/systemctl restart mysqld.service
在这里插入图片描述
4.登录并修改MySQL的root密码
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> USE mysql ;
Database changed

mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE User='root';
  • 1

(注意括号里单引号内的就是你要重新设置的密码)
Query OK, 0 rows affected (0.00 sec)
Rows matched: 5 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
在这里插入图片描述

5.将MySQL的登录设置修改回来
vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vim
6.重新启动mysqld
service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
或:
Redirecting to /bin/systemctl restart mysqld.service
7.检测新密码是否生效
输入mysql -u root -p 回车
然后输入新密码,回车,如下图修改成功
在这里插入图片描述

数据库远程连接出现Host is not allowed to connect to this MySQL server解决方法

先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:
1.在装有MySQL的机器上登录MySQL mysql -u root -p密码
2.执行use mysql;
3.执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
4.执行FLUSH PRIVILEGES;
5.经过上面4步,就可以解决这个问题了。
注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。

linux服务器安装Mysql后,只能看到information_schema/test这两个库,无法修改密码

打开一个ssh连接,登录到mysql数据库
直接用命令mysql,进入数据库
修改mysql.user表

use mysql;

delete from user;
运行下面的

INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string) VALUES
("%","root","","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","","","","",0,0,0,0,"",""),
("localhost","","","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","","","","",0,0,0,0,"","");
  • 1
  • 2
  • 3

授权
grant all privileges on *.* to 'root' @'localhost' identified by 'root';
刷新
flush privileges;
4.重启mysql: service mysqld restart 或者 service mysql restart

启动后登录mysql数据库,可以正常看到所有的数据库了。

2003-can’t connect to mysql server on '服务器’
grant all privileges on *.* to 'root' @'localhost' identified by 'root';
flush privileges;
授权
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
在登录mysql数据库时报错为如下所示:

 # mysql -uroot -p
  • 1

Enter password:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/application/mysql5.1.72/tmp/mysql.sock‘ (2)

#查看my.cnf关于socket的配置

# more /etc/my.cnf |grep sock
  • 1

socket =/tmp/mysql.sock

#由上可知my.cnf中定义的为/tmp目录下,而错误提示为/tmp/mysql.sock目录下
#也就是说mysqld已经声称了正确的sock文件,但客户端连接还是从初始目录去找sock文件
解决方法

先停止mysql服务器

# /etc/init.d/mysqld stop
  • 1

Shutting down MySQL.[ OK ]
#修改my.cnf,如下

# vi /etc/my.cnf
  • 1
[mysql]
no-auto-rehash
socket = /tmp/mysql.sock  #添加该行
  • 1
  • 2
  • 3

#重启mysql服务器

# service mysqld start
  • 1

Starting MySQL…[ OK ]
#再次连接正常

# mysql -uroot -p
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/729654
推荐阅读
相关标签
  

闽ICP备14008679号