php连接mysql报错:SQLSTATE[HY000] [2006] MySQL server has gone away
安装好 mysql 后,一般会使用客户端连接(必须Navcat)。本文描述了怎么设置远程连接。
MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。
由于是在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文件夹下
mysql8的默认密码加密方式是caching_sha2_password,PHP7.4连接mysql的加密方式也为caching_sha2_password,这个地方要注意。
2.docker pull mysql 要选择starts最高的那个name 进行下载
按照https://blog.csdn.net/h996666/article/details/80917268安装完MySQL之后。
Mycat 目前还未全面支持MySQL 8以上的版本,可能会导致一些问题,例如Mycat连接MySQL 8时可能会报密码错误,因为新版的密码加密方式与旧版不一样。还有就是时区问题,新版的连接方式需要增加时区参数。除此之外,可能还会有一些其他问题。因此,我们需要更改Mycat的一些配置,让其能正常连接MySQL 8.x。
我们本文将采用最常规的方式,也就是安装包的方式进行安装,这也是我推荐给新手的安装方式,因为这种安装方式更直观更可控一些,比如对 MySQL 版本的选择和密码配置等,那接下来我们就直接开始吧。
2059原因,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
Client does not support authentication protocol requested by server;
1.docker仓库搜索mysql docker search mysql /images/img/20220308164142.png 2.docker仓库拉取mysql8.0镜像 docker pull mysql:8.0 docker pull mysql #拉取最新版本的mysql 3.查看本地镜像是否安装成功 docker images mysql:8.0 /images/img/20220308164232.png 4.安装运行mysql8.0容器 docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0 -p 将本地主机的端口(3307)映射到docker容器端口(3306) –name 容器名称 -e 配置信息,root用户原始密码为root -d 镜像名称 注意 记得去服务器防火墙放行3307端口 5.查看mysql8.0容器运行情况 docker ps /images/img/20220308165059.png 6.docker登录mysql docker exec -it mysql bash mysql -uroot -p /images/img/20220308165341.png 7.使用客户端连接工具(navicat)远程登录mysql /images/img/20220308165538.png 会出现下面的2059错误
发现root的host是localhost,不是%,可以加个host是%的root账号: 输入:CREATE USER ‘root’@’%’ IDENTIFIED BY ‘KC$abc123’;
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
最新版本 MySQL 下载路径:https://dev.mysql.com/downloads/windows/installer/8.0.html
(1)、如果之前有启动过MySQL服务,则通过:net stop mysql命令(Windows系统)或者systemctl stop mysql命令(Linux环境)先停止服务。
当程序中使用root账号连接mysql时报以下错误,但是使用命令行是可以正常连接的,那么就查询下mysql数据库的user表,查看下当前用户的密码加密方式,看看是不是unix_socket MariaDB [mysql]> select user,plugin from user; +------+-------------+ | user | plugin | +------+-------------+ | root | unix_socket | +------+-------------+ 可以更改下用户的加密方式: update user set authentication_string=password("123456"),plugin='mysql_native_password' where user='root';
hash大家都不陌生,不同的hash又不一样的特征,今天的主要内容就是带大家一起来学习了解一下不同的hash。
原因:由于用户加密方式不同,如果是采用caching_sha2_password会由于navicat的版本问题导致无法连接,需要设置成mysql_native_password
原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式 解决方案:修改用户(root)的加密方式
找到mysql的配置文件vim /etc/my.cnf,把密码的加密方式改成之前版本的,8.0版本更换了密码的加密方式,我们就先用旧的
注:原因为MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的 登录密码加密规则 还原成 mysql_native_password,即可登陆成功。
我卸载掉本来的mariadb(因为我。。直接在添加mysql yum源的时候直接下载mysql失败了)
如果是此句, 则是拉取最新版本 $ docker pull mysql:latest
在测试mysql的过程中遇到使用localhost可以连接但是127.0.0.1不能连接,原因是localhost使用的本地socket连接,127.0.0.1使用使用的tcp连接
今天2021年4月23日。我买了阿里云centos服务器,安装mysql8.0,做一笔记,以供大家使用。
软件包下载地址:http://mirrors.sohu.com/mysql/MySQL-8.0/
请注意,本文编写于 666 天前,最后修改于 666 天前,其中某些信息可能已经过时。
MySQL安装后,需要允许外部IP访问数据库。修改加密配置与增加新用户,配置用户权限 修改配置文件,增加默认加密方式的配置项。
提前开放好mysql需要用到的端口号,有的还需要去服务器的控制中心添加放行端口号,CentOS 7有关开放端口号的操作可以看这篇文章:CentOS 7 开启防火墙及开放指定端口
但是目前MyCat仍主要面对MySQL 5.5, 5.6, 5.7版,对最新的MySQL 8尚未完全支持,需要用户对MySQL 8和MyCat的配置进行一系列的修改。
原因是:默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认证方式,连接测试的时候就会报错:client does not support authentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式,因此,去my.ini里面在[mysqld]下面加上这句话即可。
注:两段代码分别实现了创建数据库账户。localhost为只允许本地连接数据库。%为允许该账户从任何主机连接数据库。
公司的服务器登陆操作都是使用堡垒机+SSH的方式进行登陆的,今天准备配置一台机器的SSH访问,所以看了看SSH相关的东西,这里简单总结下。
mysql> select host,user,plugin from user;
安装完MySQL8.0.11和Navicat Premium12后,我们会用Navicat去测试连接MySQL,但是测试时出现以下错误提示:
1、新安装的mysql8,使用激活成功教程版的navicat连接的时候一直报错,如图所示:
But 点击左下的Generate,将激活码激活之后,再次打开navicat12.1.25.0任然提示需要去官网购买。
The server requested authentication method unknown to the client
前提需求是已经完成安装了Mysql服务,Mysql的安装可参考:Docker安装Mysql 这里只介绍Mycat1.6.7.6对Mysql8支持使用配置,其他基于mycat完成读写分离、分库分表等配置详见本站其他文章
我下载的是Windows (x86, 64-bit), ZIP Archive,主要是网不好,下载慢,所以选择第一个,
上一篇文章讲解了重置 MySQL 的密码,有同学反馈无法程连接到数据库,这是因为 MySQL 安装完成后只支持 localhost 访问,我们必须设置一下才可以远程访问,另外还有一些 MySQL 8.0 连接时的一些问题,本文也会一并进行讲解如何解决。
错误代码: django.db.utils.OperationalError: (1045:Access denied for user 'root'@'localhost' (using password: NO)
拉取mysql的镜像 docker search mysql docker pull mysql
网上还有说:【改安装路径下的my.ini文件,将default_authentication_plugin=caching_sha2_password改为default_authentication_plugin=mysql_native_password】,测试过了,这种方法不行不行。
下载页面 MySQL :: Download MySQL Community Server
MySQL 5.7版本于2015年10月份左右 GA,至今已经2年多了。和部分DBA朋友交流,很多公司已经开始在线上使用5.7版本。我们今年计划将公司数据库从5.6进行升级到5.7 版本。本系列基于版本5.7.20来讲述MySQL的新特性,同时也建议大家跟踪官方blog和文档,以尽快知悉其新的变化。
安装完后,MySQL 会在系统启动时自动启动,如果不想让它自动启动,可以使用 systemctl disable mysqld 关闭它。
领取专属 10元无门槛券
手把手带您无忧上云