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问题解决的更多相关文章
- CentOS 下mysql ERROR&n…
CentOS 下mysql ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) 描述:在操作数据库时会出 ...
- CentOS下Mysql安装教程
CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...
- CentOS下mysql常用命令
CentOS下mysql常用命令 1.开启和关闭 1.1.开启 service mysql start 1.2.关闭 service mysql stop 1.3.重启 service mysql ...
- CentOS 下 MySQL DateBasic 抢救
CentOS 下 MySQL DateBasic 抢救 强 Kill 数据库进程. 分析问题:确定报错内容 报错信息:The server quit without updating PID file ...
- CentOS下MySQL 5.7编译安装
CentOS下MySQL 5.7编译安装 文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...
- CentOS 下 MySQL 5.6 基于 RPM 的下载、安装、配置
CentOS 下 MySQL 5.6 基于 RPM 的下载.安装.配置 系统: CentOS 7 x86_64 MySQL 版本: 5.6.40 安装方式: RPM 下载 下载地址 操作系统 选择 R ...
- Centos下MySQL主从同步配置
说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样, 因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave ...
- Centos下MySQL使用总结
转载于CentOS中文站:http://www.centoscn.com/CentOS/Intermediate/2013/0817/1334.html 一.MySQL安装 Centos下安装mysq ...
- CentOS下MySQL的安装过程
1 查看 CentOS 自带的 mysql 输入命令: rpm -qa | grep mysql 2 将自带的MySQL卸载了 输入命令: rpm -e --nodeps mysql-libs-5.1 ...
随机推荐
- 2018-8-10-WPF-修改按钮按下的颜色
title author date CreateTime categories WPF 修改按钮按下的颜色 lindexi 2018-08-10 19:16:53 +0800 2018-03-15 2 ...
- HZOJ 回家
这篇博客大部分在写我的错解……明明很简单的一道题,知道正解后10分钟AC,然而几个错解打的想死…… 错解1 WA40: 鬼知道这40分哪来的……这也是考试最后很无奈地交上去的代码,最后剩20分钟时发现 ...
- ASCII代码表
>>ASCII代码表<<
- 详解TableStore模糊查询——以订单场景为例
背景 订单系统在各行各业中广泛应用,为消费者.商家后台.促销系统等第三方提供用户.产品.订单等多维度的管理和查询服务.为了挖掘出海量订单数据的潜能,丰富高效的查询必不可少.然而很多时候并不能给出完整准 ...
- Ubuntu 开机自动挂载磁盘
Ubuntu 磁盘挂载 1.使用命令查看分区 sudo fdisk -l 1 可以根据上图提供的磁盘信息确定想挂载的磁盘,以及确定挂载的位置. 我此次的目的是将/dev/sda2 磁盘挂载到/mnt/ ...
- JS的作用域链与this指向
JS的作用域链是在函数创建时创建的.而this对象是在函数运行期间绑定的. 下面看几个例子,说明JS的作用域链和this是两套分离的链. 1) var name = 'window下的name< ...
- title与h1的区别、b与strong的区别、i与em的区别?
title与h1的区别 定义: title是网站标题, h1是文章主题 作用: title概括网站信息,可以直接告诉搜索引擎和用户这 个网站是关于什么主题和内容的,是显示在网页Tab栏里的: h1突出 ...
- NLP --- 条件随机场CRF详解 重点 特征函数 转移矩阵
上一节我们介绍了CRF的背景,本节开始进入CRF的正式的定义,简单来说条件随机场就是定义在隐马尔科夫过程的无向图模型,外加可观测符号X,这个X是整个可观测向量.而我们前面学习的HMM算法,默认可观测符 ...
- H3C 配置帧中继交换
- Spring Data JPA查询指定列,并返回实体(改)
现有PostEntiy实力,包含各种属性,如: /** * @Auther: DingShuo * @Date: 2018/7/18 11:09 * @Description: */ @Entity ...