详解mysql安装与配置,及Mac中常见的安装问题

目录

1 数据库介绍

什么是数据库

数据库分类

2 MySQL服务器安装

2.1 Windows绿色安装

 2.2 Windows中重装MySQL

3 Mac中常见的安装问题

4 客户端连接MySQL服务器 

5 SQL分类


1 数据库介绍

什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

数据库存储介质:

  • 磁盘
  • 内存 

为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。

数据库分类

数据库大体可以分为 关系型数据库非关系型数据库

  • 关系型数据库(RDBMS):

是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个
关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:

  1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费。
  2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
  3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
  • 非关系型数据库:

不规定基于SQL实现。现在更多是指NoSQL数据库,如:

  1. 基于键值对(Key-Value):如 memcached、redis
  2. 基于文档型:如 mongodb
  3. 基于列族:如 hbase
  4. 基于图型:如 neo4j

关系型数据库与非关系型数据库的 区别:

  1. 数据模型:关系型数据库使用表格结构以行和列的形式组织数据,通过定义表之间的关系来表示数据之间的联系。而非关系型数据库则不使用表格结构,可以使用不同的数据模型,如键值对、文档、列族等。

  2. 可扩展性:关系型数据库在处理大规模数据时可能面临性能瓶颈,因为它们通常在单个服务器上运行。而非关系型数据库通常具有更好的可扩展性,可以将数据存储在多个节点上,以实现水平扩展。

  3. 数据一致性:关系型数据库通常使用ACID(原子性、一致性、隔离性和持久性)事务来保证数据的一致性。非关系型数据库则通常放宽对数据一致性的要求,以获得更高的性能和可扩展性。

  4. 灵活性:关系型数据库需要在设计之前定义表的结构,一旦定义之后很难修改。非关系型数据库则更加灵活,可以在不影响现有数据的情况下进行动态添加、修改和删除。

  5. 查询语言:关系型数据库使用SQL(结构化查询语言)进行查询和操作数据。非关系型数据库通常使用不同的查询语言,如MongoDB使用的查询语言是基于文档模型。

  6. 数据存储方式:关系型数据库通常将数据存储在硬盘上,而非关系型数据库可以选择将数据存储在内存、硬盘或分布式文件系统中。

2 MySQL服务器安装

2.1 Windows绿色安装

  • 解压MySQL:如解压到D:\Tools\mysql-5.7.27-winx64(注意不要放在中文路径、有空格或特殊字符的路径中)
  • 配置环境变量:

1.右键 此电脑 -> 高级系统设置 -> 环境变量 -> 在下面 系统变量栏 点击 新建 ->

  • 变量名:MYSQL_HOME
  • 变量值:为MySQL解压的根目录,我这里为D:\Tools\mysql-5.7.27-winx64

2. 在 系统变量栏 找到 Path 变量并双击:

Win10中点击 新建 以添加新的路径:
%MYSQL_HOME%\bin

Win7中直接添加到Path的最前面:
%MYSQL_HOME%\bin

说明:
需要执行某个指令,如D:\Tools\mysql-5.7.27-winx64\bin\mysqld.exe,需要在cmd中输入
全路径,或切换到D:\Tools\mysql-5.7.27-winx64\bin目录下执行mysqld.exe。为方便操
作,如在cmd可以直接输入mysqld执行该指令,可以按以上配置:

  1. 以上配置 %MYSQL_HOME% 代表引用的 MYSQL_HOME 环境变量,即D:\Tools\mysql-5.7.27-winx64
  2. 配置在 Path 中,表示设置 %MYSQL_HOME%\bin 路径为全局路径,全局路径下的指令可以直接执行。
  • 配置MySQL初始化文件

1. 在MySQL根目录下创建初始化文件my.ini,即D:\Tools\mysql-5.7.27-winx64\my.ini。内容
如下:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8[mysqld]
#设置3306端口
port=3306# 设置mysql的安装目录
basedir=D:/Tools/mysql-5.7.27-winx64# 设置mysql数据库的数据的存放目录
datadir=D:/Tools/mysql-5.7.27-winx64/data# 允许最大连接数
max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8# 创建新表时将使用的默认存储引擎
default-storage-engine=innodb

2.将以上 basedirdatadir 后的内容替换成自己的路径。

3. 注意:需要保存为ANSI编码。

方法一:使用记事本打开,保存/另存为,选择ANSI编码。

方法二:使用Notpad++打开,点击编码->转为ANSI编码->保存。

  • 初始化MySQL

右键点击cmd,选择 以管理员身份运行,执行以下命令
mysqld --initialize-insecure

如果出现找不到mysqld或是mysql命令,这是环境变量没有配置正确。检查环境变量,如果正
确,则重新打开cmd,因为cmd会缓存系统变量,没有更新。

以上初始化操作完成后,可以看到在MySQL根目录下生成了data目录。
初始化的MySQL会生成超级管理员,账户名 root ,密码为空

  • 安装MySQL服务:

如果以前安装过MySQL,会默认安装MySQL的系统服务,点击开始菜单,输入services.msc,进
入系统服务界面,搜索是否有mysql服务(可以在英文状态输入mysql快速定位),如果有mysql
服务,需要先删除,有以下两种删除方法:

  1.  cmd管理员权限打开,输入sc delete mysql
  2.  如果以上命令执行失败,还可以直接使用注册表删除,点击开始菜单,输入regedit,查找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中的mysql,将其删除

在以上mysql服务删除后,可以安装新解压的mysql服务了,在cmd执行:

mysqld install

此时执行 win+r 输入 services.msc 打开服务管理器,可以看到MySQL服务

  • 运行/停止MySQL服务端

       cmd执行

net start mysql
net stop mysql

 2.2 Windows中重装MySQL

  • 重装相同版本的MySQL很简单,不用真正卸载,只需要删除MySQL根目录下data文件夹,之后按照 2.1 中的内容,从 初始化MySQL 内容开始重新执行即可。
  • 重装不同版本的MySQL,需要卸载以前安装的MySQL:如果以前通过解压方式安装的MySQL,需要重新安装或卸载时,需要如下操作:右键点击cmd,选择 以管理员身份运行
  • net stop mysql
  • mysqld -remove mysql

之后重新执行2.1的安装步骤。

3 Mac中常见的安装问题

  1. mac系统安装mysql,只需要安装dmg文件就行,安装完毕,打开系统偏好设置,可以看到mysql服务,点击可以查看服务状态。
  2. 在mac中安装好mysql后,要在终端使用mysql,需要配置环境变量:

  • 切换到bash shell:

chsh -s /bin/bash 

  • 查找mysql目录: 

find / -name mysql 

  • 新建用户功能设置文件: 

vim ~/.profile 

打开的文件中点击i,输入以下内容:

export MYSQL_HOME=查找到的mysql目录(一般是/usr/local/mysql)
export PATH=$MYSQL_HOME:$PATH

再点击":wq"保存退出

  • 刷新环境变量: 

source ~/.profile 

4 客户端连接MySQL服务器 

MySQL默认只允许在服务器本机 使用 root 用户登录,要开启 root 用户的远程登录,在MySQL服务器本机执行: 

mysql -u root -p 

要求输入密码,没有设置密码则直接回车
进入MySQL命令行以后,可以看到 mysql> 

-- 使用mysql数据库
use mysql;-- 更新用户表的root账户,设置为任意ip都可以访问,密码修改为123456
update user set host="%",authentication_string=password('root') where
user="root";-- 刷新权限
flush privileges;

 退出

quit;

5 SQL分类

  • DDL数据定义语言,用来维护存储数据的结构

      代表指令: create, drop, alter

  • DML数据操纵语言,用来对数据进行操作

      代表指令: insert,delete,update

  •   DML中又单独分了一个DQL,数据查询语言,代表指令: select
  • DCL数据控制语言,主要负责权限管理和事务

      代表指令: grant,revoke,commit

 

感谢阅读,希望对友友们有所帮助!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm001高校专业信息管理系统设计与实现+jsp

高校专业信息管理系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校专业信息管理混乱&#xff…

【C语言】tcp_sendmsg_locked

一、讲解 tcp_sendmsg_locked 函数是 Linux 内核中实现 TCP 数据发送的一个核心函数。这个函数被调用来将用户空间的数据通过 TCP 发送出去。以下是该函数的基本工作流程的中文解释: 1. 函数初始化和检查: - 它首先检查是否使用了 TCP 零拷贝发送&am…

【Internet结构和ISP,分组延时、丢失和吞吐量】

文章目录 一、Internet结构和ISP1.互联网络结构:网络的网络2.Internet 结构:network of networks 二、分组延时、丢失和吞吐量1.分组丢失和延时是怎样发生的?2.四种分组延时3.分组丢失4.吞吐量 一、Internet结构和ISP 1.互联网络结构&#x…

(1) 易经与命运_学习笔记

个人笔记,斟酌阅读 占卦的原理 三个铜板,正面是3,反面2,三个一起转,得出6,7,8,9 数字象6老阴7少阳8少阴9老阳 生数和成数 生数和成数应该说出自《河图》。其中一二三四五为生数,六七八九十为成数。 生…

一小时学习redis!

redis 基于内存的数据存储系统 三种使用方式 redis优势 安装redis 最后一种方式只能得到5.0的redis版本 比较老! 启动redis redis-server.exe 命令 停止ctrlc或关闭 启动客户端 redis-cli redisinsight安装 字符串 redis区分大小写 默认使用字符串存储 二进制…

iOS开发 - 转源码 - __weak问题解决

iOS开发 - 转源码 - __weak问题解决 在使用clang转换OC为C代码时,可能会遇到以下问题 cannot create __weak reference in file using manual reference 原因 __weak弱引用是需要runtime支持的,如果我们还只是使用静态编译,是无法正常转换的…

Redis持久化【RDB,bgsave的写时复制机制】【AOF,aof重写机制】【Redis混合持久化,以及对应改变aof重写规则】【Redis数据备份策略】

Redis持久化 RDB快照(snapshot)bgsave的写时复制(COW)机制 AOF(append-only file)AOF重写 Redis 4.0 混合持久化开启持久化后,AOF重写规则发生了变化 Redis数据备份策略: 转自 图灵课堂 RDB快照&#xff0…

如何学习VBA_3.2.19:利用Shell函数运行可执行程序

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。 如果…

【暴刷力扣】11. 盛最多水的容器

11. 盛最多水的容器 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xf…

leetcode216组合总和III

本题思考: 对于输入样例k3,n9 输出里面为什么只有 [[1,2,6],[1,3,5],[2,3,4]]而没有下图所示的重复情况出现呢? 当时代码写错了,思考许久不得解,后面经过仔细对比代码之后发现是我的代码出现了逻辑错误,而正是这一关键…

前端Webpack5高级进阶课程

课程介绍 本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等,让你开发时选择更多样,最后,用不到一百行的代码实现Webpack打包。通过本套视频教程的学习,可以帮你彻底打通Webpack的任…

Go——指针和内存逃逸

区别于C/C中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针概念需要先知道3个概念:指针地址,指针类型和指针取值。 一. Go语言的指针 Go语言中的函数传参都是值拷贝,当我们想修改某个…

新台阶——蓝桥杯单片机省赛第十四届程序设计题目

在做十四届题目之前,常常听学长说,十四届以前拿省一真的是右手就行,并不相信,在经历十四届痛苦的大量修bug和优化之后,或许学长的话真说对了几分。话不多说,我们开始一起完成单片机第十四届程序设计题目。 …

Linux环境基础开发工具yum,vim使用

目录 1.Linux 软件包管理器 yum1.1什么是软件包1.2关于 rzsz1.3注意事项1.4查看软件包1.5如何安装软件1.6如何卸载软件 2.Linux开发工具2.1Linux编辑器-vim使用2.1.1vim的基本概念2.1.2vim的基本操作2.1.3vim正常模式命令集2.1.4vim末行模式命令集2.1.5vim操作总结 2.2简单vim配…

删除数组中的指定元素(了解如何删除数组中的指定元素,并返回一个新的数组,看这一篇就足够了!)

前言:有时候我们会遇到要在数组中删除指定元素,但是不能创建新的数组,那么这个时候应该如何操作呢? ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 废话不多讲,让我们…

RuoYi-Vue-Plus(登录流程-验证码生成)

一、登录流程 1- 进入登录页面,调用 com.ruoyi.web.controller.common.CaptchaController 类中的 captchaImage 方法,生成base64的图片 以及 UUID 2- 提交 登录信息 验证码 uuid 比对 错误:返回错误信息,删除缓存的验证码 成功…

「MySQL」数据库约束

🎇个人主页:Ice_Sugar_7 🎇所属专栏:数据库 🎇欢迎点赞收藏加关注哦! 数据库约束 🍉约束类型🍌NOT NULL🍌UNIQUE🍌DEFAULT🍌主键🍌外键…

layui框架实战案例(25):laydate中mark的数据后端生成

mark,自定义日期标记。该属性是对 calendar 属性的进一步延伸,灵活度更高。属性可批量设置多个日期标记,如: mark: {0-10-14: 生日, //每年每月的某一天0-0-10: 工资, // 每月 10 号2008-8-8: 开幕, // 指定的日期 }其中日期的格式…

【微服务】Spring Boot 版本升级到 2.7.18

前言 目前项目上扫描出一些 Java 依赖的代码漏洞&#xff0c;需要对现有依赖版本升级&#xff0c;记录一下遇到的问题。 <spring-boot.version>2.3.2.RELEASE</spring-boot.version> <spring-cloud.version>Hoxton.SR9</spring-cloud.version> <s…

亚马逊服务器ssh以及scp

ssh awspass.pem为创建服务器时创建的密钥&#xff0c;ubuntu用户 ssh -i "awspass.pem" ubuntuipscp scp -i "awspass.pem" -r dist/* ubuntuip:/home/ubuntu/