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

目录

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

什么是数据库

数据库分类

[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分类](#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
    关系型数据库与非关系型数据库的 区别:

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

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

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

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

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

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

2 MySQL服务器安装

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
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后的内容替换成自己的路径。

  1. 注意:需要保存为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

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

相关推荐
异世界贤狼转生码农1 小时前
MongoDB Windows 系统实战手册:从配置到数据处理入门
数据库·mongodb
QuZhengRong1 小时前
【数据库】Navicat 导入 Excel 数据乱码问题的解决方法
android·数据库·excel
码农阿豪1 小时前
Windows从零到一安装KingbaseES数据库及使用ksql工具连接全指南
数据库·windows
冷崖6 小时前
MySQL异步连接池的学习(五)
学习·mysql
时序数据说7 小时前
时序数据库市场前景分析
大数据·数据库·物联网·开源·时序数据库
听雪楼主.10 小时前
Oracle Undo Tablespace 使用率暴涨案例分析
数据库·oracle·架构
我科绝伦(Huanhuan Zhou)10 小时前
KINGBASE集群日常维护管理命令总结
数据库·database
妖灵翎幺11 小时前
Java应届生求职八股(2)---Mysql篇
数据库·mysql
HMBBLOVEPDX11 小时前
MySQL的事务日志:
数据库·mysql
weixin_4196583113 小时前
MySQL数据库备份与恢复
数据库·mysql