MySQL安装与配置【windows&Mac】

目录

[1 数据库介绍](#1 数据库介绍)

1.1什么是数据库???

1.2数据库分类

[2 MySQL服务器安装](#2 MySQL服务器安装)

[2.1 Windows绿色安装](#2.1 Windows绿色安装)

[2.2 Windows中重装MySQL](#2.2 Windows中重装MySQL)

[3 Mac中常见的安装问题](#3 Mac中常见的安装问题)

[4 客户端连接MySQL服务器](#4 客户端连接MySQL服务器)

5.SQL分类


1****数据库介绍

1.1什么是数据库???

-------------------------存储数据用文件就可以了,为什么还要弄个数据库?------------------------------------
文件保存数据有以下几个缺点:

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

数据库存储介质:

  1. 磁盘
  2. 内存

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

1.2数据库分类

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

  • 关系型数据库(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

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

|--------|---------------|--------------------------|
| | 关系型数据库 | 非关系型数据库 |
| 使用 SQL | 是 | 不强制要求,一般不基于 SQL 实现 |
| 事务支持 | 支持 | 不支持 |
| 复杂操作 | 支持 | 不支持 |
| 海量读写操作 | 效率低 | 效率高 |
| 基本结构 | 基于表和列,结构固定 | 灵活性比较高 |
| 使用场景 | 业务方面的 OLTP 系统 | 用于数据的缓存、或基于统计分析的 OLAP 系统 |

注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical
Processing )是指联机分析处理。

2 MySQL****服务器安装

平时使用 5.7.x 的版本,我这里使用 5.7.27

2.1 Windows****绿色安装

  • 解压MySQL:如解压到D:\Tools\mysql-5.7.27-winx64(注意不要放在中文路径、有空格或特殊字 符的路径中)。
    • 配置环境变量: 1. 右键 此电脑 -> 高级系统设置 -> 环境变量 -> 在下面 系统变量栏 点击 新建 -> 变量名: MYSQL_HOME
      变量值:为MySQL解压的根目录,我这里为D:\Tools\mysql-5.7.27-winx64
    1. 在 系统变量栏 找到Path 变量并双击:
      【Win10】 中点击 新建 以添加新的路径:

    %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 。内容
      如下:
sql 复制代码
[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
  1. 将以上 basedirdatadir 后的内容替换成自己的路径。
  2. 注意 :需要保存为 ANSI 编码。
    方法一:使用记事本打开,保存/另存为,选择ANSI 编码。
    方法二:使用Notpad++打开,点击编码->转为 ANSI 编码 -> 保存。
  • 初始化MySQL
    • 右键点击cmd,选择 以管理员身份运行,执行以下命令:
sql 复制代码
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 执行:

sql 复制代码
mysqld install

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

  • 运行/停止MySQL服务端
    cmd 执行:

    sql 复制代码
    net start mysql
    net stop mysql

2.2 Windows中重装MySQL

  • 重装相同版本的MySQL很简单,不用真正卸载,只需要删除MySQL根目录下data文件夹,之后按 照 2.1 中的内容,从 初始化MySQL内容开始重新执行即可。
  • 重装不同版本的MySQL,需要卸载以前安装的MySQL:
  • 如果以前通过解压方式安装的MySQL,需要重新安装或卸载时,需要如下操作:

右键点击 cmd ,选择 以管理员身份运行

sql 复制代码
net stop mysql
mysqld -remove mysql

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

3 Mac****中常见的安装问题

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

1.切换到bash shell :

sql 复制代码
chsh -s /bin/bash

2.查找mysql 目录:

sql 复制代码
find / -name mysql

3.新建用户功能设置文件:

sql 复制代码
vim ~/.profile

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

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

再点击":wq" 保存退出
5.刷新环境变量:

sql 复制代码
source ~/.profile

4客户端连接MySQL****服务器

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

sql 复制代码
mysql -u root -p

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

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

退出

sql 复制代码
quit;

5.SQL****分类

  1. DDL 数据定义语言,用来维护存储数据的结构代表指令: create, drop, alter
  2. DML 数据操纵语言,用来对数据进行操作 代表指令: insert,delete,update ,DML中又单独分了一个DQL ,数据查询语言,代表指令: select
  3. DCL 数据控制语言,主要负责权限管理和事务,代表指令: grant,revoke,commit

-------------------------------- 感谢各位老爷的观看----------------------------------

相关推荐
薛晓刚8 分钟前
哪个领域数据库最难替换?
数据库
RainbowSea14 分钟前
14. MySQL 锁的详细说明
java·sql·mysql
芷栀夏27 分钟前
基于Anything LLM的本地知识库系统远程访问实现路径
数据库·人工智能
RainbowSea30 分钟前
12 MySQL 数据库其它调优策略
java·sql·mysql
软件2051 小时前
【redis使用场景——缓存——数据淘汰策略】
数据库·redis·缓存
ChinaRainbowSea1 小时前
9-2 MySQL 分析查询语句:EXPLAIN(详细说明)
java·数据库·后端·sql·mysql
时序数据说1 小时前
Java类加载机制及关于时序数据库IoTDB排查
java·大数据·数据库·物联网·时序数据库·iotdb
deeper_wind1 小时前
MySQL数据库基础(小白的“升级打怪”成长之路)
linux·数据库·mysql
加勒比海涛1 小时前
Spring Cloud Gateway 实战:从网关搭建到过滤器与跨域解决方案
数据库·redis·缓存
belldeep1 小时前
java:如何用 JDBC 连接 TDSQL 数据库
java·数据库·jdbc·tdsql