百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

程序员必备技能——解压版MySQL安装

wptr33 2025-02-13 14:33 18 浏览

作为程序员的我们,数据库是必不可少的一个工具,但是现在的小海豚却不像以前那么容易掌控,先不说网站打开的速度奇慢,作为个人开发者的我们,有时甚至找不到下载页面在哪,属实令人抓狂。

再者现在都已经 2024 年了,虽然 32 位系统还不少见,单作为程序员的我们,肯定要安装适配电脑的 64 位系统,but ,64 位 MySQL 竟然只有解压版。导致不少人陷入沉思,回想是不是自己打开的姿势不对。这都没关系,本篇文章将介绍如何安装 64 位的 MySQL,以及如何处理这期间的各种坑。

注意: 这里是解压版,非安装版。

下载

现在如果直接进入 MySQL 的官网主页,你可能看到如下界面:

那么如果猜的没错的话,接下来大概率会迷路,这里就不卖关子了,我们直接进入正题,下载免费的社区版

https://dev.mysql.com/downloads/mysql/

打开网址后能看到如下界面

这里我们选择版本,以及系统,接着点击下载 zip 版本。

这里我们直接点击下方的文字(just start my download),否则需要登陆,很麻烦的。

下载完成后就会得到这么一个文件(下载慢的话可以使用迅雷)。

安装和配置

1.解压文件

首先我们需要将上边下载的 zip 安装包解压到一个目录(根据自己的实际情况设置)。

2.配置环境变量

将解压后的 MySQL bin 目录配置到 path 中。

3. 设置 MySQL 配置文件

进入 MySQL 根目录(和 bin 同一级目录),新建一个 my.ini 文件

在文件中新增如下内容

[mysqld]
; 设置3306端口
port=3306
; 设置mysql的安装目录
basedir=C:\\soft\\mysql-8.0.36-winx64
; 设置mysql数据库的数据的存放目录
datadir=C:\\soft\\mysql-8.0.36-winx64\\mysql-data
; 允许最大连接数
max_connections=200
; 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
; 服务端使用的字符集默认为UTF8
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
; 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[client]
; 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

格外注意:

  1. 上边的basedir 和 datadir 需要改成自己的目录
  2. 路径分隔符需要使用 \\
  3. 没有 mysql-data 文件夹的需要自己新建
  4. default_authentication_plugin 这个必须加,否则可能导致 root 初始密码无法登陆。

初始化数据库

这里我们以管理员身份启动 cmd 命令行,并进入到 bin 中,执行如下命令:

mysqld --initialize --console

这里需要稍等一会儿,运行期间不要关闭上边的页面。如上,运行成功后会生成一串临时密码。。。。

初始化阶段可能会出现以下一些问题:

  1. 找不到MSVCP140.dll

这是因为缺少Visual C++ Redistributable for Visual Studio 2015 环境导致的,这里我们需要到微软官网下载安装。

https://www.microsoft.com/zh-CN/download/details.aspx?id=48145

当然,也可以直接下载MSVCP140.dll 文件,并放到 C:\Windows\System32,运行如下批处理命令注册 dll(必须要运行):

@echo 开始注册
copy msvcp140.dll %windir%\system32\
regsvr32 %windir%\system32\msvcp140.dll /s
@echo msvcp140.dll注册成功
@pause

上述步骤执行完成后,就可以重新运行初始化数据库的命令了。

  1. 控制台输出警告信息

这里的意思是后续发行版会使用 UTF8MB4,需要将 my.ini 配置中的 utf8 替换为UTF8MB4

安装服务

1.安装 mysqld 服务,注意单词里有个 d,不要遗漏了,否则无法运行。

mysqld -install

2.启动服务

net start mysql

3.登陆数据库

mysql -u root -p

这里要求输入密码,初始密码就在我们初始完数据库后控制台中打印

4.修改密码

执行下方命令,修改默认密码,这里 BY后输入自己的密码,不建议使用root,很容易被黑。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

5.测试连接

到这里就已经正常安装MySQL且正常可用了,开始你的编程之旅吧。

相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...