MySQL(免安装版)的安装与配置详细教程及相关问题解决办法、开启远程连接

2023-11-04

免安装版的Mysql

MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
  在本博文里,我主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤。
  首先:要先进入(Mysql的官网>https://www.mysql.com/),下面是详细步骤:↓
  一、下载安装包:
   ①进入官网后,点击"Dowload",然后页面往下拉
   在这里插入图片描述
 ②接下来看到的页面是这样的,红色框框的链接就是mysql社区版,是免费的mysql版本,然后我们点击这个框框的链接:↓
 在这里插入图片描述
  ③接下来跳转到这个页面,在这里,我们只要下载社区版的Server就可以了:↓
  在这里插入图片描述
  ④下载免安装版(windows以外的其他系统除外)
  在这里插入图片描述
***这样,安装包就下载好了!

***注意,安装的目录应当放在指定位置,,其次,绝对路径中避免出现中文,推荐首选英文为命名条件!!!!
  在这里插入图片描述
二、Mysql的配置
  *以管理员身份打开命令行(如下图所示),一定要是管理员身份,否则由于后续部分命令需要权限,出现错误!
  在这里插入图片描述
①下转到mysql的bin目录下:
在这里插入图片描述
②安装mysql的服务:mysqld --install
在这里插入图片描述
 ③初始化mysql,在这里,初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到(mysqld --initialize --console)
 在这里插入图片描述
④开启mysql的服务(net start mysql)
 在这里插入图片描述
⑤登录验证,mysql是否安装成功!(要注意上面产生的随机密码,不包括前面符号前面的空格,否则会登陆失败),如果和下图所示一样,则说明你的mysql已经安装成功!注意,,一定要先开启服务,不然会登陆失败,出现拒绝访问的提示符!!!
在这里插入图片描述
  修改密码:

由于初始化产生的随机密码太复杂,,不便于我们登录mysql,因此,我们应当修改一个自己能记住的密码!!
    在这里插入图片描述
 设置系统的全局变量:

为了方便登录操作mysql,在这里我们设置一个全局变量:↓

①点击"我的电脑"–>“属性”–>‘‘高级系统设置’’–>‘‘环境变量’’,接下来如下图所操作
    在这里插入图片描述
 ②把新建的mysql变量添加到Path路径变量中,点击确定,即完成:
 在这里插入图片描述
配置完成之后,每当我们想要用命令行使用mysql时,只需要win+R,–>输入"cmd"打开命令行,之后输入登录sql语句即可。

③在mysql目录下创建一个ini或cnf配置文件,在这里我创建的是ini配置文件,里面写的代码是mysql的一些基本配置
    在这里插入图片描述

[mysqld]
character-set-server=utf8mb4
bind-address=0.0.0.0
port=3306
default-storage-engine=INNODB
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4

就这样,一个免安装版的Mysql就安装并配置完成了
**

MySQL 开启远程连接

一、MySQL 开启远程连接需要先在服务器上登录到 MySQL

mysql -u root -p

然后 Enter password: 输入密码

二、修改 root 账户的 Host
1、打开 mysql 数据库

use mysql;

2、修改一条 root 用户host,并刷新MySQL的系统权限相关表

update user set Host = '%' where  User='root';
flush privileges;

这样就能通过ip远程连接mysql了。

mysql 8.0修改密码方式(特别注意)

alter user 'root'@'%' identified with mysql_native_password by 'root';
alter user 'root'@'localhost' identified with mysql_native_password by 'root';

**

可能会出现的问题

1、ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO/YES)

2、“由于找不到MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题” 或者 “由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题”

3、“net start Mysql"启动服务时 ,显示"Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误”

解决办法
(问题1):
.一、问题
  有时候我们登录Mysql输入密码的时候,会出现这种情况

mysql -u root -p

Enter Password > ‘密码’

错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

或者:错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)

二、解决办法
  修改my.in/my.cnf配置文件

进入mysql安装目录

编辑my.ini

在[mysqld]下添加skip-grant-tables跳过登录验证,保存即可。

使用管理员身份打开命令行

①重启mysql:

1、net stop mysql 2、net start mysql

②进入mysql,登录
    mysql -u root -p
    不用输入密码,直接回车(出现Enter Password 也一样直接回车,即可登陆成功)

③输入use mysql,修改root的密码:
   mysql8.0之前版本采用:
    update user set authentication_string=password(‘新密码’) where user=‘root’;
    flush privileges;
    mysql8.0版本采用:
alter user ‘root’@‘%’ identified with mysql_native_password by ‘root’;
alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘root’;
flush privileges;

④退出:

quit;

⑤再次重启mysql:

1、net stop mysql 2、net start mysql

⑥测试是否成功就是是否登陆成功咯。
    mysql -u root -p

Enter Password>‘新密码’

就不会出错,可以登录啦!!!

(另外一种情况就是,,你密码输入错误了,如果是初始化后第一次登录,出现这种情况的话,很大概率就是密码错误,初始化后的密码要认真查看,可能会因为空格、小数点等符号输错)
(问题2):
一、问题
对mysql初始化的时候遇到的问题,描述如下:

 1、无论是:"由于找不到MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题"

 2、还是 "由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题"

问题解析:
这是安装mysql-8.0.20初始化的时候会遇到的报错。

这种错误是由于电脑系统缺少部分配置文件引起的,安装  vcredist  下载相关配置文件即可。

二、解决
1、官网地址 (vcredist) :https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
缺少的dll文件也可在我的博客主页资源中下载,下载之后复制到C:\Windows\System32文件夹中即可。

命令参考:
①安装服务:mysqld --install

②初始化: mysqld --initialize --console

③开启服务:net start mysql

④关闭服务:net stop mysql

⑤登录mysql:mysql -u root -p

Enter PassWord:(密码)

⑥修改密码:alter user ‘root’@‘localhost’ identified by ‘root’;(by 接着的是密码)

⑦标记删除mysql服务:sc delete mysql

**

用navicat连接MySQL8+时会出现2059错误

**原因:
这是由于在mysql8之前的版本中加密规则为mysql_native_password,而mysql8以后版本的MySQL使用的是caching_sha2_password验证方式,但此时的navicat还没有支持这种验证方式。

解决方法:
一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。本文采用第二种方式。

解决过程:

在命令行中登录数据库时不会出现2059错误,所以在命令行中登录数据库,
执行下面的命令。

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

刷新权限。

 FLUSH PRIVILEGES; 

问题解决。
注意:‘root’可以改为你自己定义的用户名,‘localhost’指的是该用户开放的IP,可以是’localhost’(仅本机访问,相当于127.0.0.1),可以是具体的’...‘(具体某一IP),也可以时’%'(所有IP均可访问,一般修改为%)。最后的’root’是你想使用的验证密码。需要根据实际情况替换成自己的实际配置。

**

[ERR] 2006 - MySQL server has gone away

修改my.ini 加入
max_allowed_packet=2048M 调整到合适大小
wait_timeout=288000
interactive_timeout = 288000

** 解决Navicat运行sql文件报错:1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘created_at‘ at

[ERR] 1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'created_at' at row 1

修改sql_mode(将上述查询到的sql_mode中的NO_ZERO_DATE和NO_ZERO_IN_DATE删除即可)

修改全局

set @@global.sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
# 修改当前
set @@sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。

还可以在MySQL配置文件mysql.ini中修改sql_mode配置,这样就不需要每次重启MySQL就得重新设置sql_mode了

在my.ini的[mysqld]下添加:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

然后重启mysql。

MySQL卸载

卸载很方便,使用管理员权限打开命令提示符,依次输入下面命令。
结束MySQL服务:net stop mysql
删除MySQL服务:mysqld -remove mysqlsc delete mysql
删除MySQL的文件夹
删除MySQL环境变量

卸载解压版MySQL

(1). 关闭服务
以管理员身份运行cmd,命令:

net stop mysql

(2). 卸载服务
以管理员身份运行cmd,命令:

mysqld -remove [服务名]

(3). 删除文件
删除mysql安装目录

(4). 删除注册表信息
清除注册表中的该MySQL服务,有几个地方:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除

注册表中的ControlSet001、ControlSet002不一定是001和002,可能是ControlSet005、006之类,删除的时候都删除就可以 。

安装常见问题

(1). data文件错误
错误描述:在启动mysql服务时,提示:

mysql服务无法启动。服务器没有报告任何错误。请键入 NET HELPMSG 3534 以获得更多的帮助。

错误原因:一般初始化之前已存在data文件就会出现这个错误,或者data文件缺少了某些文件

解决方法:先执行命令:

mysqld -remove [服务名]

然后把data文件夹删除,如果删除不了重启一下就可以了,之后重新进行安装就没问题了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL(免安装版)的安装与配置详细教程及相关问题解决办法、开启远程连接 的相关文章

  • MySql If then 在 Select 语句中

    我想在 mysql select 中使用 IF THEN 语句 但无法弄清楚 当还没有评论时 commentcreated 值应该是该项目本身的创建值 这是查询 SELECT item count comments itemid AS co
  • MySQL JDBC 连接上的故障转移?

    我正在尝试确定如何使用 MySQL JDBC 驱动程序实现高可用性解决方案 似乎有一个我可以设置的故障转移属性 但我想知道当使用 MySQL 和 JDBC 实现简单的故障转移机制时 人们倾向于使用什么 我们计划将 2 个前端 Tomcat
  • BIT(1) 的存储大小是多少?

    我一直认为a的存储大小BIT 1 列为 1 位 But http dev mysql com doc refman 5 6 en storage requirements html http dev mysql com doc refman
  • 通过 PHP 将 CSV 导入 MYSQL

    我正在将 CSV 文件导入到我的管理区域 并且我想将文件添加到我的数据库中 我的 PHP 代码import php is
  • Mysql启动问题|错误!服务器退出而不更新PID文件

    有任何想法吗 Joshs MacBook Pro cdwhp joshc mysql server start Starting MySQL ERROR The server quit without updating PID file u
  • MYSQL从另一个表插入id

    我有以下疑问 我有 2 张桌子 id customers 1 alan 2 beth 3 john and id id customers value 1 1 bar 2 1 foo 3 2 baz 示例 我需要在第二个表中添加值 alfa
  • 美国邮政编码的最佳列类型是什么?

    我想存储Zip Code 美国境内 MySQL 数据库中 Saving空间是一个优先考虑的因素 使用 VARCHAR 最大长度限制为 6 位或使用 INT 或使用 MEDIUM Int 是更好的选择 邮政编码不会用于任何计算 邮政编码将用于
  • PHP mysql 选择连接

    我有这个功能 以某种形式显示自动建议 function searchbyId params input strtolower params input len strlen input limit isset params limit in
  • 基于UnixTime的MySQL动态分区

    我的数据库设计包括多个 MYISAM 表 其中包含在线收集的测量值 每行记录包含自动递增的 id 一些数据和一个表示 unixtime 的整数 我正在设计一种老化机制 并且我有兴趣使用MySQL分区来基于unixtime动态地对每个这样的表
  • 如何在SQL中编写连接查询[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 问题 给定 Employee 和 AnnualReviews 表 编写一个查询以返回所有从未接受过按 HireDate 排序的评论的员
  • 减少每日状态表以仅包含状态更改

    我有一个包含 10 万以上用户的大型每日状态表 5 7 亿行 目前它位于 MySQL 或 CSV 中 该表包含三列 user id status 和 date 理想情况下 我希望将表缩减为一个新表 其中包含每个状态期间的 user id s
  • url文本压缩(不是缩短)并存储在mysql中

    我在 mysql 中有一个 url 表 其中只有两个字段 id 和 varchar 255 用于 url 目前那里有超过 5000 万个 url 我的老板刚刚向我提供了有关当前项目扩展的线索 这将导致在该 url 表中添加更多的 url 预
  • 是否可以在MySQL UDF中的IF条件中声明游标

    我可以在 if 语句中声明游标吗 如果可能的话我怎样才能做到 因为我刚刚做了这样的光标 CREATE FUNCTION fn test ProductID BIGINT 20 RETURNS DECIMAL 10 2 BEGIN DECLA
  • 如何根据状态从父表和子表获取数据,其中外键每行具有不同的状态

    我有 2 个具有外键关系的表 情况是我有一个case and a case有很多revisions 和每个revision有自己的status 如果仅更改外键表状态的特定行 我想获取父表数据和子数据 Table Case id case n
  • Rails 3 应用程序的 MySQL Cluster (NDB) 与 MySQL Replication (InnoDB):优点/缺点?

    我们正在对当前系统进行概述 试图找出是否可以提高性能和可靠性 目前 我们运行着一堆内部 Rails 应用程序和基于 Rails 的网站 有些已经是 Rails 3 有些正在转换为 Rails 3 它们都连接到以下 MySQL 设置 mysq
  • MySQL - 重命名列

    如何重命名 mysql 列help to content在我的桌子上tbl help mysql query ALTER TABLE tbl help CHANGE COLUMN help content 您必须在更改列语句中包含列的定义
  • Hibernate、MySQL 视图和 hibernate.hbm2ddl.auto = 验证

    我可以在 Hibernate 中使用 MySQL 视图 将它们视为表 即 该实体与为表创建的实体没有什么不同 但是 当 Hibernate 设置为验证模型时 我的应用程序将不会部署 因为它找不到视图 因为它假设它是一个表 是否可以在启用部署
  • 如何解决 MySQL Workbench 上的这些行错误?

    正如您所看到的 我的代码中没有语法错误或类似的错误 你们能帮我吗 我想这只是错误标记机制中的一个小错误 尝试编辑代码或关闭此编辑器并打开一个新编辑器 如果您有重现此问题的步骤列表 您甚至可以创建一个错误报告 http bugs mysql
  • sqlalchemy 中的随机 ID(pylon)

    我正在使用 pylons 和 sqlalchemy 我想知道如何将一些随机 id 作为primary key 最好的方法是使用随机生成的 UUID import uuid id uuid uuid4 uuid 数据类型在某些数据库中本机可用
  • 在 ADO 查询 (mysql/MyConnector) 中使用参数

    今天我下载并安装了 MyConnector 这样我就可以通过 ADO 使用 Mysql 一切都安装好了 我可以与 ODBC 连接并从我的 delphi 环境进行连接 当我在运行时构建查询时 我收到一条错误消息 项目 Project1 exe

随机推荐

  • 配置接口IP地址并通过静态路由、默认路由配置实现全网互通!

    配置接口IP地址并通过静态路由 默认路由配置实现全网互通1 对Router R1 R3进行默认路由配置 R2为静态路由配置 2 配置好PC机的IP地址 子网
  • Can‘t use an undefined value as an ARRAY reference at probe2symbol

    Can t use an undefined value as an ARRAY reference at probe2symbol 有时间限制 过了时间就不行 把所有诸如if samp1e 5 gt 118 next 删掉 就可以了 这句
  • golang返回值为interface{}的类型判断

    大家知道 golang对于不确定返回值可以用interface 代替 这确实很方便 但是也带来了问题 那就是如何判断返回值是什么类型的 其实可以用反射也就是reflect来判断 通过函数 reflect TypeOf 1 即返回类型 本文参
  • Qt学习之二——QPushButton按钮用法

    目录 1 QPushButton按钮简介 2 三个构造函数 3 QPushButton常用属性 4 QPushButton常用方法 5 QPushButton按钮的信号与槽 1 QPushButton按钮简介 QPushButton是普通按
  • Vlc播放rtsp视频

    Vlc播放rtsp视频 网上的例子不少 我看后觉得有点不足的地方 就是他们没有设置播放rtsp视频时的参数 参数设置对播放网络视频是很重要的 如果设置不当 或不设置 可能你的程序就播放不了rtsp视频了 说下开发步骤吧 挺简单的 我的环境
  • 分布式消息队列RocketMQ&Kafka -- 消息的“顺序消费”-- 一个看似简单的复杂问题

    在说到消息中间件的时候 我们通常都会谈到一个特性 消息的顺序消费问题 这个问题看起来很简单 Producer发送消息1 2 3 Consumer按1 2 3 顺序消费 但实际情况却是 无论RocketMQ 还是Kafka 缺省都不保证消息的
  • 初学者怎样看懂代码_糖说:不懂代码的我们如何看代码?

    大家新年好啊 先给各位老板们拜个年 这两天写的大家不是很爱看 可能大家还是喜欢看一些故事性的东西 那么在以后的韭爷说里一定会加大对于故事板块儿的输出的 现在我们还是继续今天的内容吧 有始有终 不懂代码的我们如何看代码 这是一个问题 因为笔者
  • 【Android取证篇】华为设备无法识别解决方案

    Android取证篇 华为设备无法识别解决方案 以鸿蒙系统的开发者模式设置展示 和安卓的设置情况一样 suy 文章目录 Android取证篇 华为设备无法识别解决方案 华为设备无法识别 一 正常打开方式 1 开发者模式 2 USB配置 仅充
  • 最新ChatGPT网站AI系统源码+详细图文搭建教程/支持GPT4.0/AI绘画/H5端/Prompt知识库/

    一 前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统 本期针对源码系统整体测试下来非常完美 可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统 那么如何搭建部署AI创作ChatGPT
  • 2017-06-12 每日一记 Linux的root密码修改

    在ubuntu中 1 1 切换root用户 sudo su 然后输入sudo密码 su root 然后输入root密码 1 2 切换其他用户 su 用户名 修改root用户密码 需要记得sudo密码 首先sudo su 输入普通用户密码 进
  • 页面加载与iframe加载函数

  • 运算放大器基础知识

    文章目录 前言 一 运放内部电路原理 二 运放的参数和特性 1 输入输出特性曲线 2 主要参数 三 运放常用应用 1 加法器 2 减法器 3 读书电路和指数电路 4 乘法器和除法器 5 乘方和开平方根电路 6 积分电路 7 微分电路 8 P
  • Spring-Boot添加MyBatis:手动添加代码方式

    创建了一个MySQL数据库 并添加了一张表 添加MyBatis后 有两种使用方式 注解方式 简单快速 适合规模较小的数据库 xml配置方式 支持动态生成SQL 调整SQL更方便 适合大型数据库 无论哪种方式 都需要共同执行的前期工作 在po
  • Raspberry Pi运行Arduino Sketch

    在本文中 您将学习如何在Raspberry Pi上运行为Arduino编写的sketch 这将使我们能够将Arduino代码编译为可以在Raspberry Pi上运行的二进制文件 但是在我们这样做之前 我们必须在Arduino IDE和Ra
  • 剑指Offer第五十九题:按之字顺序打印二叉树

    题目描述 请实现一个函数按照之字形打印二叉树 即第一行按照从左到右的顺序打印 第二层按照从右至左的顺序打印 第三行按照从左到右的顺序打印 其他行以此类推 思路 1 第一种按照层序遍历 然后偶数行 默认从第一行开始 翻转即可 层序遍历和翻转可
  • iOS并发编程(一)-简介

    一个菜鸟的自我修养 就是在低级职位上不抓狂 当一个优秀的菜鸟 就是为了有一天不当菜鸟 瞅准机会迅速脱离菜鸟轨道 然后一路飞翔到世界的尽头 接下来系统的学习下并发编程 会有几篇吧 不多说 走起 简介 1 异步设计方式 传统并发编程模型是线程
  • 三分钟看懂Python分支循环规范:if elif for while

    人生苦短 我用python 分支与循环 条件是分支与循环中最为核心的点 解决的问题场景是不同的问题有不同的处理逻辑 当满足单个或者多个条件或者不满足条件进入分支和循环 这里也就说明这个对相同问题处理执行逻辑依据具体参数动态变化 由此产生多种
  • linux环境安装工具

    安装mysql http istester com article 258 html 安装git https wx zsxq com dweb2 index group 88512425825412 from mweb type detai
  • java批量生成二维码图片,并打包成ZIP

    最近开发遇到了一个批量打印二维码并生成zip包的需求 先记录下来 pom依赖
  • MySQL(免安装版)的安装与配置详细教程及相关问题解决办法、开启远程连接

    免安装版的Mysql MySQL关是一种关系数据库管理系统 所使用的 SQL 语言是用于访问数据库的最常用的标准化语言 其特点为体积小 速度快 总体拥有成本低 尤其是开放源码这一特点 在 Web应用方面 MySQL 是最好RDBMS Rel