MYSQL常见链接错误1130,1045
首先说一下这两种错误的原因,放在一起是因为这两种错误有时候同时出现
用Navicat工具连接
1045 Access denied for user ‘root’@’localhost’ (using password:YES)
这种提示一般情况下是因为数据库密码错误导致
遇到此问题我们需要修改mysql配置文件
注意windows下文件的名字是my.ini,而linux下是my.cnf
都在[mysqld]下面添加
1 | skip-grant-tables |
skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。
这样我们就可以不用密码直接设置mysql数据库权限了
1 | mysql -u root -p |
直接回车
1 | use mysql; //使用这个数据库 |
1 | update user set password=password("123456") where user="root"; //修改数据库权限密码为123456 |
1 | flush privileges; //刷新数据库 |
这样我们的数据库密码已经修改完成了
1 | select user,host,password from user; |
输入以上代码查看目前数据库权限,password部分应该是加密后的状态
这时我们就可以删除my.ini文件中的skip-grant-tables
重启数据库服务
1 | service mysqld restart //CentOS7 重启命令 |
windows 可以在任务管理器-服务中重启服务
1130 错误 一般是无法远程访问数据库,只允许本地localhost访问
运行以下语句我们来修改权限
1 | mysql -u root -p |
运行完毕后再次连接测试,若还不行重启mysql服务,或是直接重启电脑
以上就是1045和1130的解决办法,亲测可用