MySQL 8.0.34(x64)安装笔记
一、背景
从MySQL 5.6到5.7,再到8.0,版本的跳跃不可谓不大。安装、配置的差别也不可谓不大,特此备忘。
二、过程
(1)获取MySQL 8.0社区版(MySQL Community Server)
从 官网 字样 “MySQL Community Server” 的链接进入到下载页。
选择8.0.xx(截至2023-9-1,最新版本为34)的zip文件即可(形如:mysql-8.0.34-winx64.zip)。
(2)安装
解压zip文件到指定位置(推荐为非系统盘的根目录)即可。
两个环境变量设置:
① 新建MYSQL_HOME变量,并设置为MySQL安装文件夹路径。
② 将【%MYSQL_HOME%\bin】加入到PATH变量中。
(3)配置
配置文件(.ini、.cnf等)主要参考官方文档中有关配置文件章节。
配置文件名规则:先是my.ini,再是my.cnf;检测位置规则:先是C:\,再是安装文件夹。
8.0版本安装包没有提供配置文件模板,需自行创建,推荐在安装文件夹中创建my.ini文件。
常见配置项说明如下,配置文件模板(my.ini)附后。
| 选项组 | 选项 | 说明 | 备注 |
|---|---|---|---|
| mysqld | basedir | MySQL安装文件夹 | 字符串, |
| mysqld | datadir | 数据文件夹 | 字符串, |
| mysqld | port | 服务端口 | 整形,默认值3306,取值范围 [0, 65535] |
| mysqld | max_connections | 同时允许的最大客户端连接数 | 整形,默认值151,取值范围 [1,100000] |
| mysqld | max_connect_errors | 最大连接失败数 | 整形,默认值100,取值范围 [1,18446744073709551615] |
| mysqld | character-set-server | 服务(mysqld程序)的默认字符集 | 字符串,默认值utf8mb4 |
| mysqld | default-storage-engine | 数据表的默认存储引擎 | 枚举,默认值InnoDB |
| mysqld | default_authentication_plugin | 默认的身份验证插件 | 枚举,默认值caching_sha2_password, 其他值:mysql_native_password 和 sha256_password |
| mysql | default-character-set | mysql(命令行客户端)默认的字符集 | 字符串, |
| client | default-character-set | 客户端(C API)默认的字符集 | 字符串, |
| client | port | 客户端(C API)默认的连接端口 | 整形, |
(4)初始化、启动 服务
mysqld --initialize --console # 初始化并获取root初始密码
mysqld --install <服务名> # 安装服务,默认服务名为mysql,可以指定,例如:mysql80
net start <服务名> # 启动服务
(5)修改root账户密码
mysql -u root -p #进入mysql命令行工具,密码为root初始密码ALERT USER root@localhost IDENTIFIED BY '<新密码>';
exit # 退出命令行工具net stop <服务名> # 重启mysql服务
net start <服务名>
三、问题
(1)允许远程主机连接服务
默认MySQL不允许远程主机连接。可修改:
mysql -u root -p #进入mysql命令行工具use mysql; # 选择系统库mysql
select host from user where user='root'; # 查看允许主机
update user set host = '%' where user='root';
flush privileges; # 提交
select host from user where user='root'; # 验证查看
exit # 退出命令行工具net stop <服务名> # 重启mysql服务
net start <服务名>
(2)数据库字符集修改
早期默认字符集为utf8,现在几乎统一为utf8mb4(8.0的默认值即utf8mb4)。
如有修改,可直接修改配置文件的项【character-set-server】即可。需重启服务。
四、结论
MySQL 8.0相对5.6和5.7等早期版本,安装、配置的难点还是在配置文件。
而配置项大致分为3组:服务端(mysqld)、mysql命令行(mysql)和客户端(client)。
对应的配置项(变量)也各有定义:
① Server System Variables
② mysql Client Options
③ mysql_options
五、其他
(1)my.ini配置模板
[mysqld]# 设置服务端端口
port=3306
# $MYSQL_HOME
basedir=D:\mysql
# 数据文件夹
datadir=D:\mysql\DATA
# 最大连接数
max_connections=200
# 最大连接失败次数
max_connect_errors=10
# 服务端字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 默认认证插件
default_authentication_plugin=mysql_native_password[mysql]
# 客户端默认字符集
default-character-set=utf8[client]
# 客户端连接端口
port=3306
# 客户端默认字符集
default-character-set=utf8
(2)数据库创建模板
CREATE DATABASE `<数据库名>` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
如图所示:

相关文章:
MySQL 8.0.34(x64)安装笔记
一、背景 从MySQL 5.6到5.7,再到8.0,版本的跳跃不可谓不大。安装、配置的差别也不可谓不大,特此备忘。 二、过程 (1)获取MySQL 8.0社区版(MySQL Community Server) 从 官网 字样 “MySQL …...
物流供应商实现供应链自动化的3种方法
当前影响供应链的全球性问题(如新冠肺炎疫情)正在推动许多物流供应商重新评估和简化其流程。运输协调中的摩擦只会加剧供应商无法控制的现有延误和风险。值得庆幸的是,供应链专业人员可以通过端到端的供应链自动化消除延迟,简化与合作伙伴的沟通…...
Mysql更新时间列只改日期为指定日期不更改时间
场景 Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间: Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间_霸道流氓气质的博客-CSDN博客 上面通过如下方式实现日期列增加指定天数。 UPDATE bus…...
实时测试工具 Visual Studio 扩展 NCrunch 4.18 Crack
NCrunch Visual Studio 扩展 .NET 的终极实时测试工具 在编码时查看实时测试结果和内联指标。 下载v4.18 发布于 2023 年 7 月 17 日 跳过视频至: 代码覆盖率 指标 分布式处理 配置 发动机模式 Visual Studio 自动并发测试 NCrunch 是一个完全自动化的测试扩展&a…...
Neo4j 基本语法
一、基本语法 1、新建节点 (1)基本语法: () 代表节点 示例: CREATE (u:User {uid:970939424 }) // 节点类型为User,属性值为uid970939424CREATE (u:Round {rid:7194842697444819113 }) // 节点类型为Rou…...
docker常见面试题
1.什么是docker docker是一个容器化平台,类似于一个集装箱,集装箱与集装箱之间互不影响,docker平台就是一个软件集装箱平台,我们可以构建应用程序,将其所有的依赖打包到一个容器中,然后就很方便的可以在其…...
静态路由:配置和使用详解
文章目录 一、静态路由的配置和使用详解1. 配置要点1.1 点到点接口配置1.2 以太网接口配置 2. 默认路由3. 静态路由的配置命令4. 静态路由实现路由备份和负载分担 二、静态路由的优先级和比较1. 静态路由的优先级设置2. 静态路由与动态路由的比较2.1 静态路由优缺点2.2 动态路由…...
玩转Mysql系列 - 第15篇:详解视图
这是Mysql系列第15篇。 环境:mysql5.7.25,cmd命令中进行演示。 需求背景 电商公司领导说:给我统计一下:当月订单总金额、订单量、男女订单占比等信息,我们啪啦啪啦写了一堆很复杂的sql,然后发给领导。 …...
0065__git fetch, git pull, git merge, git rebase
git fetch, git pull, git merge, git rebase_git pull和merge_送你一朵小莲花的博客-CSDN博客...
AJAX学习笔记4解决乱码问题
AJAX学习笔记3练习_biubiubiu0706的博客-CSDN博客 在Tomcat10来说,AJAX GET或者POST接收响应都不存在乱码问题 对于Tomcat9来说 前端测试代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>测试A…...
【23种设计模式】享元模式【⭐】
个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…...
语音信号的仿真原理
利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB软件 平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频 谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信…...
VLDB 2023 | CDSBen: 字节跳动 veDB 数据库存储系统性能测试模型
背景 随着业务爆炸式增长与云原生技术的日渐成熟,大量云原生分布式数据库产品如雨后春笋般涌现,其中一部分主打 OLTP 场景的分布式数据库强调的是从计算-存储分离架构获得弹性收益;对于业界各种计算-存储分离架构的数据库而言,怎么…...
crontab的配置参数和基础使用教程
crontab基本格式 crontab文件的基本格式如下: * * * * * command 这5个*代表: 第一个* :分钟(0-59)第二个* :小时(0-23)第三个* :一个月中的第几天(1-31)第四个* :月份(1-12)第五个* :一周中的第几天(0-6,其中0代表星期天) command代表要执行的命令。 crontab常用时间设置…...
基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
一、项目简介 本项目是一套基于Python开发的玛丽冒险小游戏程序,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试…...
K8S之使用yaml格式定义pod
mysql-pod.yaml # overView: # 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测 # 2. 补充重启策略/镜像拉去策略 # 3. 对容器资源进行限制apiVersion: apps/v1 kind: Pod metadata:name: pub-oanamespace: hunte…...
SSH命令详解
本文转载于:https://blog.csdn.net/m0_60873746/article/details/130843325 SSH命令详解 SSH(Secure Shell)是一种用于安全登录远程计算机的网络协议。通过 SSH,可以在不受干扰的情况下,传输服务器操作系统和网络管理…...
Windows SQLYog连接不上VMbox Ubuntu2204 的Mysql解决方法
Windows SQLYog连接不上VMbox Ubuntu2204 的Mysql解决方法 解决方法: 1、先检查以下mysql的端口状态 netstat -anp|grep mysql如果显示127.0.0.1:3306 则说明需要修改,若为: : :3306,则不用。 在**/etc/mysql/mysql.conf.d/mysqld.cnf**&am…...
Python中的日期和时间(一)datetime模块
Python处理时间的对象很多,常用的有time、datetime和calendar等。本文对常用的时间对象的使用进行学习。在开始学习具体的对象前,先学习几个计算机的时间概念。 UTC(全球标准时间):是全球范围内计时的科学标准,它基于…...
qt触控板手势检测
主要检测双指上下滚动、左右滚动、双指放大、缩小。 内容解释看注释,代码在mac上经过测试无问题,windows未测试。 bool WBScreenShotDialog::event(QEvent *event) {if (event->type() QEvent::Wheel) { // 双指滚动QWheelEvent *wheel static_…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
