解决centos下MySQL登录1045问题

 更新时间:2020年01月06日 10:45:36   作者:豆腐鱼  
这篇文章主要介绍了解决centos下MySQL登录1045问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

由于需要在centos下部署整个应用,自然少不了对数据库的操作。但很多人可能会遇到一些问题,比如创建用户成功,但是却无法登录。

无法登陆一般就两个原因。第一,远程访问端口没开,第二个原因就是密码错误了(很奇怪,我们登录时的密码明明是正确的,但还是会提示密码错误,我也不知道这是什么原因,有可能是编码之类的吧)

远程访问端口没开这种情况比较好解决,如果用的云服务器,在控制台去配置安全组,打开相应端口就可以了。

这里说一下第二种错误,这个比较坑。

第二种情况往往会报错显示:1045 Access denied for user 'root'@'%' (using password:YES)。

我把完整流程大致写一遍。我的操作系统是centos7.4,MySQL版本是5.7。

首先登陆mysql,我的是root用户。登录命令是

mysql -u root -p

输入登录密码后,窗口变化如下图:

首先看一下现在系统里面有哪些用户,以及用户的具体权限,具体命令:

查看用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

查看具体用户的权限:

show grants for 'root'@'%';

窗口变化如下图:

接下来我要创建一位用户,让改用户能够远程访问数据库,并对其进行操作。具体命令如下:

create user zhangsanidentified by 'zhangsan.CQU.2020.lisi';
grant all privileges on *.* to zhangsan@'%' identified by 'zhangsan.CQU.2020.lisi';

或者一条命令直接搞定:

grant all privileges on *.* to 'zhangsan'@'%' identified by 'zhangsan.CQU.2020.lisi' with grant option;

操作完成后,千万记得刷新,否则可能不生效,命令如

flush privileges;

此时再查看用户,就能发现多了一位用户,也就是我们刚才创建的用户。

输入exit,退出MySQL,然后试着用zhangsan这个账户登录一下。

问题顺利出现了,就是登不上去,接下来去解决这个问题咯。

首先,找到自己的MySQL的my.cnf文件,(我的在etc文件夹下面,不同的人可能不一样,用Linux命令按条件查找即可)

打开文件后(vi my.cnf),进入编辑模式(a)找到mysqld关键字,在mysqld下面添加skip-grant-tables,保存退出(先esc,再:wq),如图:

将注释去掉即可。

然后重启mysql,命令如下:

service mysqld restart

接下来就是重新登录,然后修改密码啦。

提示输入密码那里,直接enter,跳过密码验证,登陆成功。接下来进入mysql数据库,然后修改密码,命令如下。

use mysql

修改密码:

update user set authentication_string=password("zhangsan.CQU.2020.lisi") where user="zhangsan";

如图:

然后退出mysql,将刚刚修改过的my.cnf文件改回来,并重新启动mysql。

可以看到登录已经成功了,远程连接也能成功,就不演示了,如果远程登录还不成功,检查一下端口设置,是否开启了远程访问。

总结

以上所述是小编给大家介绍的解决centos下MySQL登录1045问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • MySQL关键字Distinct的详细介绍

    MySQL关键字Distinct的详细介绍

    这篇文章主要介绍了MySQL关键字Distinct的详细介绍的相关资料,需要的朋友可以参考下
    2017-07-07
  • Mysql下载安装、部署与图形化详细操作教程

    Mysql下载安装、部署与图形化详细操作教程

    这篇文章主要为大家详细介绍了Mysql下载安装、部署与图形化详细操作教程,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • CentOS 6.5安装mysql5.7教程

    CentOS 6.5安装mysql5.7教程

    这篇文章主要为大家详细介绍了CentOS 6.5安装mysql5.7教程,包括mysal旧版本的卸载、新版本的升级,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • MySQL主从同步机制与同步延时问题追查过程

    MySQL主从同步机制与同步延时问题追查过程

    这篇文章主要给大家介绍了关于MySQL主从同步机制与同步延时问题追查的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • mysql使用GROUP BY分组实现取前N条记录的方法

    mysql使用GROUP BY分组实现取前N条记录的方法

    这篇文章主要介绍了mysql使用GROUP BY分组实现取前N条记录的方法,结合实例形式较为详细的分析了mysql中GROUP BY分组的相关使用技巧,需要的朋友可以参考下
    2016-06-06
  • 一文带你了解Mysql主从同步原理

    一文带你了解Mysql主从同步原理

    本文主要讲解了Mysql主从同步原理,主从同步可以扩展数据库的负载能力、容错还可以数据备份等。想要了解相关内容的朋友可以阅读这篇文章
    2021-08-08
  • 6G数据库的导入 报各种错误的解决办法

    6G数据库的导入 报各种错误的解决办法

    今天看到一高人的mysql数据库达到了6G左右,导入都是个问题,上传也挺麻烦的,这里特分享下,方便需要的朋友
    2013-01-01
  • mysql 发生系统错误1067的解决方法

    mysql 发生系统错误1067的解决方法

    今天要把WEB项目打包成EXE,可是在数据库上卡住了。在启动数据库服务的时候发生系统错误 1067。
    2009-09-09
  • mysql中文排序注意事项与实现方法

    mysql中文排序注意事项与实现方法

    mysql在查询字符串时是大小写不敏感的,在编绎mysql时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,比较应急的方法是对于包含中文的字段加上"binary"属性,使之作二进制比较
    2008-09-09
  • 完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)

    完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)

    下面小编就为大家带来一篇完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03

最新评论