目录
一、下载MySQL8
1.下载地址:
MySQL :: Download MySQL Community Server
2.创建my.ini文件
将mysql8
的安装包解压。并创建核心配置my.ini
文件到mysql
解压目录的根目录中;my.ini
相关配置,如下:
注:修改
mysql
的安装目录和数据库数据存放目录的路径鼠标右键新建文本文档,文件名改为my.ini,添加下面的配置,删除.txt后缀确认即可
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\a\\mysql8\\mysql-8.0.18-winx64\\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\\a\\mysql8\\mysql-8.0.18-winx64\\mysql-8.0.18-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
二、安装步骤
第一步:命令窗口
以管理员身份打开CMD
命令窗口
第二步:切换目录
切换到mysql
的bin
目录
# 切换目录
cd C:\a\mysql8\mysql-8.0.18-winx64\mysql-8.0.18-winx64\bin
第三步:安装服务
安装mysql
服务,输入mysqld install
命令
注:如果在执行以上命令,出现弹出报错,请安装
VC++
运行环境
第四步:生成临时密码
输入mysqld --initialize --console
命令、生成临时密码
mysqld --initialize --console
第五步:启动服务
启动mysql服务、如果执行命令失败,可以直接到服务中去找到mysql
服务右键启动即可
net start mysql
第六步: 修改密码
使用临时密码登陆mysql,并修改密码
注:这里是修改密码为123456,可自行修改
mysql>alter user 'root'@'localhost' identified with mysql_native_password by '123456';
mysql>flush privileges;
mysql>exit;
三、配置网络访问
使用MySQL
的root
账号登录,并切换到mysql
数据库,修改配置:
mysql -u root -p
# 输入密码
mysql> use mysql;
mysql> select user,host from user;
mysql> update user set host='%' where user='root';
mysql> commit;
mysql> grant all privileges on test.* to root@'%'
mysql> flush privileges;
四、修改账户加密方式
1.查看mysql加密方式
# 登录
mysql -u root -p
# 查看
show variables like 'default_authentication_plugin';
2.查看本地mysql用户的信息
select host,user,plugin from mysql.user;
3.修改加密方式
Navicat不支持MySQL新版本的这种用户登录账户加密方式plugin,所以下面我们要修改root账户的加密方式为【mysql_native_password】
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
修改后重新查看本地mysql用户的信息确认修改成功
五、连接MySQL
在Windows防火墙设置中添加MySQL的3306规则
打开本地Navicat远程连接虚拟机中MySQL
相关文章
MySQL中的高级查询
通过条件查询可以查询到符合条件的数据,但如同要实现对字段的值进行计算、根据一个或多个字段对查询结果进行分组等操作时,就需要使用更高级的查询,MySQL提供了聚合函数、分组查询、排序查询、限量查询、内置函数以实现更复杂的查询需求。接下来将针对这些高级查询的知识进行讲解。
编程日记 2024/02/24 08:33:50
mysql中文首字母排序查询
MySQL中的排序涉及到字符集和排序规则。默认情况下,MySQL按照ASCII码对字符进行排序,数字>字母>中文。但是,特殊字符(非字母、数字、中文)的排序需要一些额外处理。匹配到非字母数字中文的内容,做排序,字母数字中文为null,排序优先级最高,排在上面。为什么用HEX()函数做十六进制编码?因为中文用常规的正则不能匹配到结果。试过SUBSTRING、LEFT等,都不能完美实现多中文的首字母排序。为什么要把字母数字中文放在一起匹配?因为处理复杂度会更高。这样可以处理更复杂的排序需求。
编程日记 2024/02/20 22:31:36
Mac 版 Excel 和 Windows 版 Excel的区别
它提供了丰富的功能和工具,包括公式、函数、图表和数据透视表等,帮助用户高效地处理和管理大量数据。例如,VBA 中的扩展 ASCII 字符在 MacOS 中通常有所不同,某些宏键盘快捷键似乎是保留的,VBA 动画仅适用于 Win 版 Excel ,并且右键单击上下文菜单无法使用 Mac 版 Excel 中的 VBA 进行编辑。对于许多高级用户来说,使用数据透视表和数据透视图执行数据分析和可视化数据的能力是 Excel 最有价值的功能之一,因此在确定哪个版本的 Excel 最适合您时需要考虑这一基本功能。
编程日记 2024/02/13 19:59:11
linux docker 部署mysql8以上版本时弹出Access denied for user root @ localhost (using password: YES)的解决方案
mysql8登录第一次遇到MYSQL_ROOT_PASSWORD时会自动把该密码尽兴登录,生成一个秘钥放在mysql的数据文件里面,命令里带的MYSQL_ROOT_PASSWORD密码是个参数,除了第一次运行mysql带上会设置密码生成秘钥,其他次启动而不是设置mysql的密码,而是作为参数去验证这个最初的秘钥是否核对正确,于是我进入挂载的data目录,发现我的猜想是对的。通过docker将服务部署完后,navicat连接报错,密码错误,于是我尝试进入mysql容器登录 发现也报错。
编程日记 2024/02/08 18:08:55
MySQL运行在docker容器中会损失多少性能
自从使用docker以来,就经常听说MySQL数据库最好别运行在容器中,性能会损失很多。一些之前没使用过容器的同事,对数据库运行在容器中也是忌讳莫深,甚至只要数据库跑在容器中出现性能问题时,首先就把问题推到容器上。
编程日记 2024/02/02 14:07:43
Mysql大数据量分页优化
之前有看过到mysql大数据量分页情况下性能会很差,但是没有探究过它的原因,今天讲一讲mysql大数据量下偏移量很大,性能很差的问题,并附上解决方式。
编程日记 2024/01/29 17:55:30
MySQL数据库主从复制集群原理概念以及搭建流程
主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。主库出现问题,可以快速切换到从库提供服务。实现读写分离,降低主库的访问压力。可以在从库中执行备份,以避免备份期间影响主库服务。
编程日记 2024/01/18 16:22:43
HarmonyOS4.0系统性深入开发19进程模型概述
HarmonyOS通过CES(Common Event Service,公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力。公共事件从系统角度可分为:系统公共事件和自定义公共事件。系统公共事件:CES内部定义的公共事件,只有系统应用和系统服务才能发布,例如HAP安装,更新,卸载等公共事件。目前支持的系统公共事件详见系统公共事件列表。自定义公共事件:应用自定义一些公共事件用来实现跨进程的事件通信能力。公共事件按发送方式可分为:无序公共事件、有序公共事件和粘性公共事件。
编程日记 2024/01/15 09:47:24
【MySQL】MySQL表的约束-空属性/默认值/列属性/zerofill/主键/自增长/唯一键/外键
本文介绍了mysql中表的约束--空属性/默认值/列属性/zerofill/主键/自增长/唯一键/外键
编程日记 2024/01/14 09:29:47
Linux(Ubantu)交叉编译生成windows(32位,64位)可执行程序和库
与 mingw32 相比,mingw-w64 提供了对 64 位 Windows 应用程序的支持,并且通常被认为是更现代和更新的工具。这个选项通常用于 Unix-like 系统的编译器,用以指导链接器在生成可执行文件时保留符号信息,以便支持运行时的符号解析(例如用于动态加载库).该选项对于 Windows 下的编译是无效的,通过。(能够解析windows平台的可执行程序) 则能直接允许直接在linux环境中运行我们生成的win32的可执行程序(包括验证win32平台的动态库).
编程日记 2024/01/11 16:30:59
在 Docker 中配置 MySQL 数据库并初始化 Project 项目
这样,您就完成了在 Docker 中配置 MySQL 数据库并初始化 Project 项目的过程。希望这篇博客对您有所帮助!创建目录 /project/mysql 以及 /project/mysql_data。在每个 SQL 文件中,将 AUTO_INCREMENT 修改为 1。将准备好的 SQL 文件复制到 /project/mysql 目录。将 init.sql 放到 /project/mysql 目录。在 SQL 文件中插入管理员相关数据。在 SQL 文件中插入机型相关数据。1.4. 插入管理员。
编程日记 2024/01/05 16:29:56
如何使用Plex在Windows系统搭建个人媒体站点公网可访问
用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各种碎片时间(追剧下饭、地铁上刷剧等等),看个喜欢的视频必不可少。但不知道为什么,各大影音平台总能轮流占住热播剧,还限定很多剧只能会员观看,搞得我们总有交不完的会员费。此时,拥有一个私人影音媒体站点就显得很有必要。今天,笔者就为大家介绍,如何使用cpolar+Plex组合,在Windows系统上搭建一个全能的私人媒体影音站点。
编程日记 2024/01/03 11:55:55
深入理解Mysql事务隔离级别与锁机制
我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。接下来,我们会深入讲解这些机制,让大家彻底理解数据库内部的执行原理。
编程日记 2023/12/31 19:32:25
Redis数据一致解决方案
在高并发的业务场景下redis与mysql数据库非常容易产生数据不一致的情况,我们可以采用redis缓存延迟双删除策略达到数据的最终一致性,也可以采用一部缓存更新自定义监听mysql binblog和采用canal开源中间件实现缓存的实时一致性方案。总的来说,都是比较简单的,而且都能够达到良好的效果。
编程日记 2023/12/27 09:56:04
MySQL:为什么明明创建了索引还是走了全表扫描
为了解决线上的慢查询已经创建了索引,但是却还是走了全表扫描,甚至在测试环境能够正常运行,但是到了线上却出现了不一样的表征。
编程日记 2023/12/26 12:43:27
如何在Spring Boot中优雅地进行参数校验
在Java中,注解(Annotation)是一种代码标记,通常用于提供元数据,这些元数据可以被编译器或运行时环境使用。这些注解通常用于框架和库中,以实现更加灵活和可配置的代码。
编程日记 2023/12/25 10:15:17
深入理解Mysql底层数据结构和算法
深入理解Mysql底层数据结构和算法。结合图文介绍了存储结构、mysql的索引(主键索引、非主键索引、联合索引)、B+tree、存储引擎等
编程日记 2023/12/23 21:59:15
windows如何环境搭建属于自己的Zblog博客并发布上线公网访问?
想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕不开的项目。就以笔者自己的经历来说,就被自制网页网站卡过很久。不过随着电脑技术的发展,已经出现了很多便捷快速建站的工具软件。今天,笔者就为大家展示,如何快速上手Z-blog,建立自己的个人博客网站,并通过cpolar建立的内网穿透数据隧道,将这个个人博客软件发布到公互联网上。从上面介绍的步骤可以看出,想要快速发布一个网站,有必要选择一些简单趁手的辅助工具,虽然Z-blog搭建的网站但很简单,但却是我们熟悉cpolar发布本地网站很好的例子。
编程日记 2023/12/21 12:24:48
【Linux进程控制(二)】进程程序替换(exec系列函数) and 自实现shell命令解释器
进程程序替换(exec系列函数) and 自实现shell命令解释器
编程日记 2023/12/16 09:15:48
【Java 基础篇】Java多线程实现文件上传详解
本文介绍了如何使用Java多线程实现文件上传功能。通过将文件切割为多个块并使用多线程同时上传,可以提高文件上传的效率。同时,服务器端需要接收和重组这些块数据以还原原始文件。希望本文对您理解文件上传的原理以及如何实现多线程文件上传有所帮助。如果您有任何问题或疑问,请随时提出。
编程日记 2023/09/24 00:01:52
【Java 基础篇】Java网络编程:文件下载详解
文件下载是指从一个网络服务器或远程位置传输文件到本地计算机或设备的过程。这些文件可以是文本文件、图像、音频、视频或任何其他类型的数据文件。文件下载在Web浏览器、移动应用程序和桌面应用程序中都是常见的操作。在Java中,您可以使用各种网络协议(如HTTP、FTP、SFTP等)来执行文件下载操作。下面我们将以HTTP协议为例,介绍如何使用Java进行文件下载。本文介绍了如何使用Java进行文件下载,以及文件下载的一些进阶功能和注意事项。
编程日记 2023/09/24 00:01:36
【Java 基础篇】Java Lambda表达式详解
Lambda表达式,也称为闭包,是一种匿名函数,它可以传递到方法作为参数,并且可以在方法中使用。它是Java 8引入的一个新特性,用于简化代码的编写,特别是在使用函数式接口时。匿名性:Lambda表达式没有显式的名称,因此可以被当做一种匿名函数使用。简洁性:Lambda表达式可以大大减少代码的冗余,使代码更加简洁。传递性:Lambda表达式可以作为参数传递给方法,从而实现更灵活的代码组织。除了Java标准库中的函数式接口,您还可以定义自己的函数式接口,以适应特定的需求。// 结果为8。
编程日记 2023/09/24 00:01:28
【Java 基础篇】Java方法引用详解
方法引用是一种强大的功能,使得代码更加简洁和可读。在Java中,您可以引用类方法、对象的实例方法、类的实例方法和构造器,以适应不同的用例和需求。方法引用与Lambda表达式一起,为函数式编程提供了更多的灵活性和表达能力。希望本文的介绍对您理解和使用方法引用有所帮助。
编程日记 2023/09/24 00:01:25
【Java 基础篇】Java 接口组成与更新详解
在Java编程中,接口(interface)是一种非常重要的概念。它允许类定义一组抽象方法,这些方法可以在不同的类中实现。接口在Java中起到了重要的角色,被广泛应用于代码的组织和设计中。本文将详细解释Java接口的组成和最新的更新,包括默认方法、静态方法、私有方法以及接口的使用场景。
编程日记 2023/09/24 00:01:22
【Java 基础篇】Java函数式接口详解
函数式接口是指仅包含一个抽象方法的接口。在Java中,函数式接口用注解来标识,这个注解不是强制性的,但建议使用它来确保接口符合函数式接口的定义。函数式接口的关键特点是可以被Lambda表达式所实现。Lambda表达式是一种紧凑的语法,用于创建匿名函数,从而更容易地传递函数行为作为参数。函数式接口与Lambda表达式结合使用,可以实现更简洁和可读性强的代码。在这个示例中,Calculator是一个函数式接口,因为它只包含一个抽象方法calculate。
编程日记 2023/09/24 00:01:18
【Java 基础篇】Java Supplier 接口详解
Supplier接口是Java中用于表示供应商的函数式接口,它通常用于延迟计算或生成值的场景。本文介绍了Supplier接口的基本用法,包括创建Supplier实例、使用方法引用、惰性计算和处理异常。使用Supplier接口可以使代码更加灵活和易于维护,特别是在需要生成值或进行惰性计算的情况下。希望本文能够帮助你更好地理解和应用Supplier接口,从而提高Java编程的效率和质量。如果你对Java函数式编程还有更多疑问,可以进一步深入学习,掌握更多高级特性和用法。
编程日记 2023/09/24 00:01:15
【Java 基础篇】Java Consumer 接口详解
Consumer是Java 8中的一个函数式接口,它位于包中。它定义了一个名为accept的抽象方法,该方法接受一个参数并且不返回任何结果。换句话说,Consumer接口表示一个消费者,它可以对给定的对象执行某些操作,但不产生任何结果。ConsumerT是Consumer接口的泛型类型参数,表示输入类型。Consumer接口是Java 8中引入的一个函数式接口,用于表示一个消费者,它接受一个输入并执行某些操作。它在集合操作、数据处理、对象配置和异常处理等场景中非常有用。通过学习Consumer。
编程日记 2023/09/24 00:01:13