1. 使用rpm包在线安装
1.1 确认自己电脑版本(linux)
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
ps:本次安装采用的系统为Centos 7.9 所使用的mysql为5.7
1.2 下载rpm包
下载地址 https://dev.mysql.com/downloads/mysql/
ps: 自己是啥版本的就装啥版本的,避免出现错误
ps: https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm 直接下载这个也行(最便捷的方法)
1.3 配置仓库文件
1.4 安装
ps: 如果觉得下载缓慢可切换源
1.5 启动 mysql服务
ps: 使用初始密码登陆之后会提示你修改默认密码且新密码的复杂度必须满足大小写+特殊符号+数字(顺序任意)
1.6 mysql改密码(能够进入myql)
FLUSH PRIVILEGES; <使用跳过权限表改密码的这条必须写>
ALTER USER 'root'@'localhost' IDENTIFIED by 'RedHat@123';
1.7 mysql改密码(不能够进入myql)
vim /etc/my.cnf
在my.cnf后面加上 skip-grant-tables
ps:使用权限表跳过之后在改密码,记得改完之后把my.cnf 里面的skip-grant-tables 删除
2. 使用rpm包本地安装
将下载的文件传输到服务器里面,当然也可以复制下载链接,在服务器里面使用wget 直接下载
2.1 解压
2.3 安装
ps: 出现如下情况代表 安装的包缺少依赖包(一共需要安装四个包)
正确的安装方法
[root@localhost mysql_local]# yum localinstall mysql-community-client-5.7.18-1.el7.x86_64.rpm mysql-community-common-5.7.18-1.el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm mysql-community-server-5.7.18-1.el7.x86_64.rpm -y
ps: 提示某个包需要移除才能够安装 则直接 执行 yum remove 包名 删除 ,然后在执行
[root@localhost mysql_local]# yum localinstall mysql-community-client-5.7.18-1.el7.x86_64.rpm mysql-community-common-5.7.18-1.el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm mysql-community-server-5.7.18-1.el7.x86_64.rpm -y
2.4 启动mysql
mysql -uroot -p"密码"
ps: 一般密码不写在命令行,直接-p 然后下面会提示输入密码 ,密码不会显示
3. 使用二机制进行安装
3.1 下载文件
下载并上传服务器或者直接在服务器上下载
3.2 创建用户和组
[root@localhost ~]# groupadd -r mysql
[root@localhost ~]# useradd mysql -r -g mysql -c "MySQL Server" -s /bin/false
3.3 解压,软链接
tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
tar xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
创建软链接:为了方便以后升级。
3.4 初始化
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
3.5 提供配置文件和服务启动脚本
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
修改配置文件:vim /etc/my.cnf
[mysqld]
...
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
# 服务脚本
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
添加系统服务,并设置开机自启动
# chkconfig --add mysqld
# chkconfig mysqld on
3.6 启动mysql
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
配置环境变量:
# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh
加载使其生效。
4. 使用docker安装mysql
4.1 容器方式安装–临时或测试
安装docker-ce
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
4.2. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://rvq9mjyt.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# Step 4: 开启Docker服务
sudo systemctl enable docker
容器方式启动MySQL:
docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
进入容器:
[root@node3 ~]# docker exec -it mysql bash
root@f04b9fd36c2d:/# mysql -uroot -p123456
5.mysql的体系结构
用户界面(User Interface):用户界面是与MySQL进行交互的组件,可以通过命令行界面、图形用户界面(如MySQL Workbench)或Web界面来实现。
应用程序接口(Application Programming Interface,API):MySQL提供了多种API,用于开发应用程序与数据库之间的交互。常见的API包括JDBC(Java Database Connectivity)、ODBC(Open Database Connectivity)和PHP的MySQL扩展。
查询解析器(Query Parser):查询解析器接收来自用户界面或应用程序的查询请求,并对其进行解析和验证。它将查询转换为内部数据结构,以供后续处理使用。
查询优化器(Query Optimizer):查询优化器分析查询,并确定执行查询的最佳方式。它会考虑索引、表之间的关联关系、查询条件和可用的优化策略,以生成最高效的执行计划。
执行引擎(Execution Engine):执行引擎根据查询优化器生成的执行计划,执行实际的数据操作。它负责从存储引擎中读取数据、处理排序和聚合操作,并将结果返回给用户界面或应用程序。
存储引擎(Storage Engine):存储引擎负责数据的存储和检索。MySQL支持多种存储引擎,如InnoDB、MyISAM、Memory等。每个存储引擎都有自己的数据存储格式、索引结构和锁机制,可以根据需求选择适合的存储引擎。
数据库管理系统(Database Management System,DBMS):数据库管理系统是MySQL的核心组件,负责管理数据库的创建、维护和安全性控制。它管理着数据库的元数据(如表结构、索引定义等),并提供对数据的持久化存储。