MySQL的安装与配置

2023-10-27

免安装版的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

  
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

就这样,一个免安装版的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
  • 2

**

可能会出现的问题

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,无法继续执行代码。重新安装程序可能会解决此问题”

  • 1
  • 2
  • 3

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

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

 
 
 
 
  • 1

二、解决
1、官网地址 (vcredist) :https://www.microsoft.com/zh-CN/download/details.aspx?id=40784

命令参考:
①安装服务: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 'password'; 

 
 
 
 
  • 1

刷新权限。

 FLUSH PRIVILEGES; 

 
 
 
 
  • 1

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

**

[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

 
 
 
 
  • 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';

 
 
 
 
  • 1
  • 2
  • 3

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

 
 
 
 
  • 1

然后重启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文件夹删除,如果删除不了重启一下就可以了,之后重新进行安装就没问题了。


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

MySQL的安装与配置 的相关文章

  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • SQL不允许表中有重复记录

    如何使其不添加重复项 我想让它通过 ID 之外的所有其他列进行检查 我希望这个无效 ID col1 col2 col3 1 first middle last ID col1 col2 col3 2 first middle last 我希
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤
  • 在mysql中的单个查询中更新多个表

    我有三个查询 我想要一个 这是我的查询 UPDATE tab1 SET a WHERE id 3 UPDATE tab2 SET b WHERE id 9 UPDATE tab3 SET c WHERE id 5 您可以尝试下面的代码 UP
  • MySql - 复制监控工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个主 从 MySql 复制 我正在寻找一个允许我监视复制的工具 查看它没有错误 检查滞后等 我更喜
  • MySql 5.7 ORDER BY 子句不在 GROUP BY 子句中并且包含非聚合列

    我试图在不禁用 my ini 中的 only full group by 的情况下弄清楚 这是我的查询 SELECT p title COUNT t qty AS total FROM payments t LEFT JOIN produc
  • libmysqlclient.a 和 libmysqlclient_r.a 有什么区别?

    我应该使用哪个来链接 mysqlclient 库 它们之间有什么区别 我似乎找不到答案 谢谢 较新版本的 MySQL 客户端发行版不包含 r 版本 有些可能有从 libmyqslclient r a 到 libmyqslclient a 的
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • MySQL 排序顺序 - 排序规则?

    我在对 MySQL 中的 char 字段进行排序时遇到困难 问题是重音字符与非重音字符混淆 例如 Abc bd Acc 我认为这可能与整理有关 所以我将表格的排序规则更改为utf8 ut8 bin 看完之后这个帖子 https stacko
  • 在 SQL 中,如何从 SELECT * FROM ... 中排除结果?

    我知道我的标题不太具有描述性 让我在这里详细解释一下 假设一个表有 26 个字段 例如字段 a 字段 z 我只想要一个选择查询只返回 15 个字段 所以 通常 我会执行 SELECT field a field b field o FROM
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏。添加了 11 条消息列表。使用emitter.setMaxListeners()来增加限制

    我知道这可能会标记为重复的解决方案 但堆栈溢出的解决方案对我不起作用 Problem node 5716 MaxListenersExceededWarning Possible EventEmitter memory leak detec
  • MySQL 与日语字符

    我试图弄清楚如何创建一个表 以便我可以在其中插入日语名字 现在我有 Type InnoDB Encoding UTF 8 Unicode utf8 Collation utf8 general ci 但是 当我插入字符时 它显示为 当我使用
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 在 android 中建立与 MySQL 的池连接

    我需要从我的 Android 应用程序访问 MySQL 数据库 现在所有的工作都通过 DriverManager getConnection url 等等 但我必须从多个线程访问数据库 所以我必须使用连接池 问题1 是 com mysql
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val

随机推荐

  • 若依后台管理系统学习

    前端系统是指运行在浏览器或者移动设备上的用户界面层 它负责与用户交互 展示数据 调用后端服务等 前端系统的架构设计需要考虑以下几个方面 前端系统在整个系统中的位置和关系 你需要明确前端系统与后端服务 数据库 第三方接口等的架构上的关系 业务
  • requests模块----这是一个强硬的手段,有多强呢?看看你就知道了

    目录 requests的作 发送简单的get请求 发送带header的请求 发送POST请求 cookies参数的使 cookie和session区别 使 代理 设置请求超时时间 请求SSL证书 开始了 requests模块简单介绍 1 r
  • Java8基础之Serializable接口

    Serializable接口介绍 Serializable 是 java io 包中定义的 用于实现 Java 类的序列化操作而提供的一个语义级别的接口 Serializable 序列化接口没有任何方法或者字段 只是用于标识可序列化的语义
  • shift算法的实现

    ok 接上文 咱们一个一个的来编写main函数中所涉及到所有函数 这也是本文的关键部分 cpp view plain copy print 下采样原来的图像 返回缩小2倍尺寸的图像 CvMat halfSizeImage CvMat im
  • ***总结:在linux下连接redis并进行命令行操作(设置redis密码)

    root iZ254lfyd6nZ cd root iZ254lfyd6nZ ls bin boot dev etc home lib lib64 lost found media mnt opt proc root sbin selinu
  • 通信算法之184: 物理层DPD/CFR/LNA/PA

  • 机器人教育在STEM课程中的设计研究

    在美国 科学 技术 工程和数学 STEM 教育被视为确保国家成功未来的重要一步 基于现实世界中的问题开发的STEM课程 可以使课程更贴近学生和教师 对于更优质的STEM教育的迫切要求主要基于以下因素的考虑 许多职业现在需要一支能够参与STE
  • 啊哈C——学习6.4陶陶摘苹果

    2015年2月5日22 02 03 1 陶陶家的院子里有一颗苹果树 每到秋天树上就会结出10个苹果 苹果成熟的时候 陶陶就会跑去摘苹果 陶陶有个30cm高的板凳 当她不能直接用手摘到苹果是 就会踩到板凳上再试试 现在一直10个苹果到地面的高
  • 华为OD机试 -百钱买百鸡问题(C++ & Java & JS & Python)

    描述 公元五世纪 我国古代数学家张丘建在 算经 一书中提出了 百鸡问题 鸡翁一值钱五 鸡母一值钱三 鸡雏三值钱一 百钱买百鸡 问鸡翁 鸡母 鸡雏各几何 现要求你打印出所有花一百元买一百只鸡的方式 输入描述 输入任何一个整数 即可运行程序 输
  • 树莓派4b配置OpenWrt联网

    文章目录 前言 一 下载固件 二 配置wan口 三 简单介绍 1 修改无线名称 设置密码 2 下载软件包 总结 前言 树莓派4b内置wifi模块 加一个千兆网口 好像有一种办法 通过无线wifi链接其他wifi通网 然后把这个网口作为lan
  • 登录鉴权

    注册登录鉴权 1 1 用户注册 前台需要给我们传递用户名 密码 手机号 手机验证码 验证用户前台传过来的数据是否符合规范 我们使用的Hibernate Validator框架实现的服务端表单校验 短信验证码这块 我们采用的阿里的大于短信接口
  • python 处理数据小工具_Python数据处理工具使用方法整理

    从csv文件创建DataFrame类型的数据结构 gt gt gt df pd read csv xxx csv DataFrame类型的形状和长度 gt gt gt df shape 38 39 gt gt gt len df 38 各列
  • mac的Vscode 中 Remote-SSH 连接不上服务器,但是在终端中使用SSH可以连接

    Vscode 中 Remote SSH 连接不上服务器 但是在终端中使用SSH可以连接 我试了各种办法 最后准备删除配置文件看看 结果发现没有权限 怀疑是我用了conda管理环境 可能造成base环境权限变了 总之 我在vscode的终端中
  • 解决android每次请求,后台sessionId都会变换(springboot配置web.xml)

    问题 后台生成验证码以后 存放到session缓存中 将验证码发送给指定手机 当安卓手机输入验证码调用注册接口时候 后台接口从session中无法取出放入的验证码 原因 android每次请求 后台sessionId都会变换 解决方法 1
  • Word论文书写--页眉线设置

    开始 gt 段落 gt 边框和底纹 基本设置如下 结果
  • 用Flex布局模型开发网页

    目录 一 为什么要用Flex布局 对比浮动有什么优点 二 Flex布局组成 三 如何使用Flex布局 1 基本方法 2 主轴对齐方式 3 侧轴对齐 4 改变主轴方向 5 弹性盒子换行 四 弹性盒子多场景运用 1 圣杯布局 2 如何让父盒子里
  • JBoss 系列四十四:jBPM5示例之 GateWay

    jBPM5中的GateWay如果选择AND则表示平行执行多个Task ParallelExecute示例演示jBPM5中如何平行执行多个Task ParallelExecute流程如下 上图为平行执行多个Task的流程 其中Task1 1
  • 002-从零搭建微服务-认证中心(二)

    写在最前 如果这个项目让你有所收获 记得 Star 关注哦 这对我是非常不错的鼓励与支持 源码地址 https gitee com csps mingyue 文档地址 https gitee com csps mingyue wikis 创
  • Shadow Build 读取不到配置文件

    问题 使用阴影构建后 无法读取配置文件 方法 阴影构建在单独目录中搜索 普通构建在项目目录搜索
  • MySQL的安装与配置

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