爱可生 DBA 团队成员,擅长故障分析、性能优化,个人博客:https://www.jianshu.com/u/a95ec11f67a8,欢迎讨论。
ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.
从 MySQL 8.0.4 开始,MySQL 默认身份验证插件从 mysql_native_password 改为 caching_sha2_password 。相应地,libmysqlclient 也使用 caching_sha2_password 作为默认的身份验证机制。
MySQL 支持使用ACCOUNT LOCK和ACCOUNT UNLOCK子句对用户账户进行锁定和解锁,用于CREATE USER和ALTER USER语句:
农行研发中心“数风云”团队,一支朝气蓬勃、快速成长的技术团队,始终致力于农行大数据、数据库和云计算等领域的应用实践与技术创新,探索数据赋能,勇攀数据云巅,为企业数字化转型和金融科技发展不断贡献力量。
很久以前(在遥远的星系中……提示音乐!),MySQL增加了对身份验证插件的支持,这个插件现在称为mysql_native_password。mysql_native_password插件使用SHA1哈希
为对比不同,我们用MySQL5.7的密码和MySQL8.0的密码进行对比,同样的密码,不同的版本中,我们使用show create user语法进行查看,可以略见一些端倪:
MySQL目前最新版本是8.0.27,今天下载了一个,尝尝鲜。这个版本,更像是一个bug 修复版本,修复了200多个bug。
Navicat是一款流行的数据库管理工具,它能够方便地连接和管理各种数据库。然而,有时候当我们尝试连接MySQL数据库时,可能会遇到错误1251:客户端不支持服务器请求的身份验证协议的问题。这个问题可能会让一些用户感到困惑,影响到数据库连接和管理工作。在本文中,我们将分享如何解决Navicat连接MySQL错误1251的问题,并帮助读者更好地使用Navicat进行数据库管理。
1、问题描述: 在navicat for mysql 连接mysql 8.0.23时,出现如下错误。
php连接mysql报错:SQLSTATE[HY000] [2006] MySQL server has gone away
公司的服务器登陆操作都是使用堡垒机+SSH的方式进行登陆的,今天准备配置一台机器的SSH访问,所以看了看SSH相关的东西,这里简单总结下。
安装好 mysql 后,一般会使用客户端连接(必须Navcat)。本文描述了怎么设置远程连接。
由于是在docker下安装的,所以步骤会比较少 1: docker pull mysql:8.0 表示pull tag为mysql8.0下的镜像 2:docker run -d -e MYSQL_ROOT_PASSWORD=root --name mysql8 -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql:8.0 表示运行上一步下载的image镜像,端口为3306,root账户的密码是root 并且配置挂载到linux下的/data/mysql/data文件夹下
中国加密标准的SM1、SM2、SM3、SM4、SM7、SM9等。 借助国际加密标准,我们可以利用来自开源的加密库, 例如,最常用和最流行的加密库之一是 OpenSSL。
-p 代表端口映射,格式为 宿主机映射端口:容器运行端口 -e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码
1、在使用Navicat Premium 12,连接MySQL8.0版本数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loaded的错误。
1、新安装的mysql8,使用激活成功教程版的navicat连接的时候一直报错,如图所示:
MySQL是最受DBA欢迎的数据库之一,易用性和高性能是MySQL数据库的标志。然而,高人气使得MySQL成为很多恶意个人和组织攻击的目标。默认安装的MySQL在安全措施方面存在较大隐患,特别是根密码空缺和缓冲区溢出的潜在漏洞,使其成为最容易受攻击的目标。在本文中,我们将介绍一些简单而有效的方法来加强数据库的安全性,以抵御本地以及远程的攻击。
在当前的形势下,各种国产技术的需求,比以往都要紧迫,借鉴徐老师的这篇文章《国密算法 + MySQL》,学习创建使用国密算法的MySQL数据库。
上一篇文章讲解了重置 MySQL 的密码,有同学反馈无法程连接到数据库,这是因为 MySQL 安装完成后只支持 localhost 访问,我们必须设置一下才可以远程访问,另外还有一些 MySQL 8.0 连接时的一些问题,本文也会一并进行讲解如何解决。
在使用MySQL数据库管理系统时,有时候会碰到忘记了root用户的密码的情况。这时候就需要找到一种解决方案来重置或者恢复root密码。本文将介绍两种常用的方法来解决这个问题。
墨墨导读:本文分享实际案例中MySQL8.0安装部署时最典型的3个问题,希望对大家有帮助。
注:两段代码分别实现了创建数据库账户。localhost为只允许本地连接数据库。%为允许该账户从任何主机连接数据库。
MySQL 5.7版本于2015年10月份左右 GA,至今已经2年多了。和部分DBA朋友交流,很多公司已经开始在线上使用5.7版本。我们今年计划将公司数据库从5.6进行升级到5.7 版本。本系列基于版本5.7.20来讲述MySQL的新特性,同时也建议大家跟踪官方blog和文档,以尽快知悉其新的变化。
当有大量的用户访问MySQL时,会为MySQL带来安全方面的风险,特别是当用户通过互联网连接到MySQL的时候,风险会更大。安全风险具有多种类型,包括窃听、篡改、信息暴露、提升权限,及拒绝服务等等。这些风险并不仅仅针对MySQL服务器,也适用于其他服务器的主机。
Navicat 是一套快速、可靠和全面的数据库管理工具,专门用于简化数据库管理和降低管理成本。Navicat 图形界面直观,提供简便的管理方法,设计和操作 MySQL、MariaDB、SQL Server、Oracle、PostgreSQL 和 SQLite 的数据。
在不同公司,可能有很多业务需求或者架构不一样导致我们实现验证的方式不一样,那么cas为我们提供了很多认证的模式(当然也可以自定义),其中常用的有:
在使用 MySQL 8 时重启应用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
MySQL这么多章节了,前前后后20多篇了,我看了下自己本地的目录,已经可以说是很全了,但是有一点我发现很关键但是我还没提过,那就是安全。
爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查。热爱 IT,喜欢在互联网里畅游,擅长摄影、厨艺,不会厨艺的 DBA 不是好司机,didi~
2059原因,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
了解了mysql的连接协议后, 就可以直接写mysql连接(驱动)了, 就可以模拟mysql client去连接数据库了, 还能模拟mysql服务端, 就可以制作mysql中间件来做读写分离, 分布式数据库 之类的了. 不过本文不会讲到那么多.
最新版本 MySQL 下载路径:https://dev.mysql.com/downloads/windows/installer/8.0.html
(1)、如果之前有启动过MySQL服务,则通过:net stop mysql命令(Windows系统)或者systemctl stop mysql命令(Linux环境)先停止服务。
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
先登录并做一些修改以便 navicat 连接,密码为 root 账号也是 root 以上已经介绍过了。
今天在电脑上安装了Mysql 8.0.11,然后又屁颠屁颠地安装了Navicat for MySQL,打开Navicat准备链接数据库的时候出现了如下提示:
我们本文将采用最常规的方式,也就是安装包的方式进行安装,这也是我推荐给新手的安装方式,因为这种安装方式更直观更可控一些,比如对 MySQL 版本的选择和密码配置等,那接下来我们就直接开始吧。
我卸载掉本来的mariadb(因为我。。直接在添加mysql yum源的时候直接下载mysql失败了)
我下载的是Windows (x86, 64-bit), ZIP Archive,主要是网不好,下载慢,所以选择第一个,
MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。
MySQL 8.0.15 版本主从复制时,io 线程一直处于 connecting 状态, 由于复制用户使用的认证插件是 caching_sha2_password,而想要通过 caching_sha2_password 认证的用户访问数据库,只有两个途径:
Mycat 目前还未全面支持MySQL 8以上的版本,可能会导致一些问题,例如Mycat连接MySQL 8时可能会报密码错误,因为新版的密码加密方式与旧版不一样。还有就是时区问题,新版的连接方式需要增加时区参数。除此之外,可能还会有一些其他问题。因此,我们需要更改Mycat的一些配置,让其能正常连接MySQL 8.x。
发现root的host是localhost,不是%,可以加个host是%的root账号: 输入:CREATE USER ‘root’@’%’ IDENTIFIED BY ‘KC$abc123’;
设置更改root密码 这里的root是mysql的超级管理员用户,跟我们的linux系统不是同一个用户 mysql没有加入PATH环境变量中,只能在目录下使用,否则使用会出错: /usr/loc
有时候忘记mysql密码了,需要重启服务去重设密码, 这太麻烦了. 所以有没得办法不重启修改密码呢? 我最先想到的是 既然我们已经知道了mysql的连接过程, 那么我们就可以自定义密码字段了. 基础
领取专属 10元无门槛券
手把手带您无忧上云