当前位置: 首页 > news >正文

数据库2-mysql环境搭建

文章目录

  • `MySQL`介绍
  • `Mysql`的安装及配置
    • `mysql`的下载安装
    • 将`mysql`加入环境变量
    • 配置`mysql`
    • 初始化`mysql`
    • 制作`mysql`服务
    • 启动/关闭`mysql`
    • 登录/退出`mysql`
    • 设置`root`密码
    • 忘记`root`密码
    • 卸载`Mysql`
    • `Mysql`的配置文件

MySQL介绍

  • MySQL是一个 开放源代码的关系型数据库管理系统 ,由瑞典MySQL AB(创始人Michael Widenius)公司1995年开发,迅速成为开源数据库的 No.1
  • 2008被Sun收购(10亿美金),2009年SunOracle 收购。 MariaDB 应运而生。(MySQL 的创造者担心 MySQL 有闭源的风险,因此创建了 MySQL 的分支项目 MariaDB
  • MySQL 版本分为 社区版 和 商业版
  • MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性
    - MySQL是开源的,所以你不需要支付额外的费用
  • MySQL是可以定制的,采用了 GPL(GNU General Public License) 协议,你可以修改源码来开发自己的MySQL系统
  • MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库
    - MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持 4GB ,64位系统支持最大的表文件为 8TB
    - MySQL使用 标准的SQL数据语言 形式
  • MySQL可以允许运行于多个系统上,并且支持多种语言

为什么如此多的厂商要选用MySQL?大概总结的原因主要有以下几点:

  1. 开放源代码,使用成本低
  2. 性能卓越,服务稳定
  3. 软件体积小,使用简单,并且易于维护
  4. 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助
  5. 许多互联网公司在用,经过了时间的验证

Mysql的安装及配置

mysql的下载安装

官网下载:https://www.mysql.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果下载的其他版本,会有一些差异,问题不大sql语句是一样的

这种方式会将服务端和客户端一并下载,后期到了真实开发环境,服务端会专门运行在服务区之上,所有人基于网络通信连接服务端进行操作

mysql加入环境变量

为了方便后续的配置和使用mysql,我们先将mysql加入环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来的界面依次点击确定,重启电脑后生效

配置mysql

mysql的安装目录下创建my.ini的文件,作为mysql的配置文件

在这里插入图片描述

在这个my.ini文件中编写代码

代码如下: (请填写自己的安装路径)

[mysql]
#客户端使用的字符集默认为utf8
default-character-set=utf8

[mysqld]
#设置3306端口号
port=3306

#设置MySQL的安装目录
basedir=D:\Service\mysql\mysql-5.7.36-winx64

#设置MySQL数据库的数据存放目录
datadir=D:\Service\mysql\mysql-5.7.36-winx64\data

#运行最大连接数
max_connections=200

#运行连接失败的次数。这也是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10

#服务端使用的字符集默认为utf-8
character-set-server=utf8

[client]
#客户端默认端口号为3306
port=3306

注意:

datadir=D:\Service\mysql\mysql-5.7.36-winx64\data

这行代码的意思是,以后将mysql的数据保存在哪个文件夹下,此文件夹必须是空的文件夹,不能有内容,否则安装会报错,如果没有这个文件夹存在,则会自动创建该文件夹

在这里插入图片描述

注意:配置Mysql时候,以管理员身份运行cmd

在这里插入图片描述

初始化mysql

用管理员模式打开cmd后,执行命令mysqld --initialize-insecure 来初始化mysql

在这里插入图片描述

制作mysql服务

用管理员模式打开cmd后,执行命令mysqld -installmysql做成系统服务

在这里插入图片描述

启动/关闭mysql

启动mysql和关闭mysql的命令(管理员权限在cmd中执行 )

net start mysql       # 启动mysql
net stop mysql		  # 关闭mysql

在这里插入图片描述

登录/退出mysql

登录命令为

mysql -h IP -p 端口 -u 账户 -p密码

mysql默认会创建用户root,没有设置密码,默认IP127.0.0.1,默认端口为3306

所以在本机登录可以简写为

mysql -u 账户 -p密码

在这里插入图片描述

退出命令为exit;或者quit;

设置root密码

管理员权限在cmd中执行

mysqladmin -u root -p 原密码 password 新密码

在这里插入图片描述

关掉当前cmd,重新再开,再次登录mysql就需要密码了

在这里插入图片描述

方式2

Windows中默认root账户是没有密码的,如果想要为账户设定密码,可以在利用root账户登录成功之后,执行命令set password = password("密码");设置密码后,登录则需要密码了

在这里插入图片描述

忘记root密码

可以将mysql获取用户名和密码校验的功能看做一个装饰器,装饰在了客户端请求访问的功能上

我们如果将这个装饰器溢出,那么mysql服务端就不会校验用户名和密码了

  1. 修改配置文件,在mysqld节点下添加skip-grant-tables=1

在这里插入图片描述

  1. 重启mysql,再次登陆时,不需要密码直接可以进去了

在这里插入图片描述

  1. 进入数据库后执行修改密码命令

    use mysql;
    update user set authentication_string = password('密码') where user='root';
    

在这里插入图片描述

  1. 退出并再次修改配置文件,删除mysqld节点下的skip-grant-tables=1

  2. 再次重启,以后就可以使用新密码登录了

在这里插入图片描述

卸载Mysql

第一步:停止mysql服务

在这里插入图片描述
在这里插入图片描述

第二步:删除Mysql相关文件夹

在这里插入图片描述

注意:如果是data文件夹(存放数据的文件夹在其他路径的,一起删除)

第三步: 删除mysql的服务
在这里插入图片描述

命令为:sc delete MySQL

tips: 如果你的mysql服务名为其他则填写对应的服务名

在这里插入图片描述

第四步:删除mysql的环境变量

鼠标右键此电脑,点击右侧的高级系统设置,依次找到高级,点击下方的环境变量

在这里插入图片描述

Mysql的配置文件

一般,ini结尾的都是配置文件,my.inimysql 的配置文件,mysql会先加载配置文件中的配置项,然后才真的启动

[mysqld]  # 一旦mysql服务端启动就会立刻加载下面的配置
[mysql]   # 一旦mysql客户端启动就会立刻加载下面的配置

测试

[mysql]
#客户端使用的字符集默认为utf8
default-character-set=utf8
user='root'
password = '123456'

在这里插入图片描述

相关文章:

  • Postman中的Pre-request Scrip详解
  • 知识变现海哥:如何把知识卖的更贵、更多、更酷
  • 中小商业银行主动安全纵深防御体系解决方案
  • 【HTML】表格标签,语义化
  • 如何从零开始解读什么叫产品经理
  • 基于竞争学习的粒子群优化算法-附代码
  • 猿创征文|忘记背后,努力面前【开学季flag】
  • 使用bloodyAD对域属性进行查询与修改
  • python——装饰器深入研究(二)
  • 前端面试谈:简历通用注意事项
  • Inveigh结合DNS v6配合NTLM Relay 的利用
  • Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
  • 华为交换机配置ACL
  • 离职总结(2022-9-5)
  • 计算机组成原理_Cache的替换算法
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【React系列】如何构建React应用程序
  • canvas 高仿 Apple Watch 表盘
  • JavaScript函数式编程(一)
  • rabbitmq延迟消息示例
  • springMvc学习笔记(2)
  • ViewService——一种保证客户端与服务端同步的方法
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 复杂数据处理
  • 计算机在识别图像时“看到”了什么?
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 数据科学 第 3 章 11 字符串处理
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 译自由幺半群
  • 积累各种好的链接
  • ​ArcGIS Pro 如何批量删除字段
  • ​决定德拉瓦州地区版图的关键历史事件
  • $forceUpdate()函数
  • (145)光线追踪距离场柔和阴影
  • (3)STL算法之搜索
  • (C语言)fread与fwrite详解
  • (二)构建dubbo分布式平台-平台功能导图
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)h264中avc和flv数据的解析
  • (转)程序员技术练级攻略
  • .bat文件调用java类的main方法
  • .Net 高效开发之不可错过的实用工具
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [acm算法学习] 后缀数组SA
  • [BUUCTF 2018]Online Tool
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [codevs 1296] 营业额统计
  • [CSS3备忘] transform animation 等
  • [HDU] 1054 Strategic Game 入门树形DP