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

数据库服务体系结构

1. 数据库服务应用配置

服务进行配置有什么作用?

         实现服务运行启动

         实现某些功能

应用配置有三种方式?

        利用编译安装进行配置

        编写配置文件信息 ,.默认的配置文件: /etc/my.cnf

        利用启动命令参数配置信息,mysqld_safe --skip-grant-tables --skip-networking &

#配置文件内容 有[]的部分表示对客户端或者服务端的配置区域
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
port=3306
socket=/tmp/mysql.sock[client]
socket=/tmp/mysql.sock

 启动数据库服务为什么会有两个进程信息?

一个是 mysqld_safe

一个是 mysqld

知识点补充:数据库服务启动与关闭管理

mysqld_safe   父进程,接受任务信息

mysqld            子进程,处理任务信息,核心

 2. 数据库服务实例创建

1. 在数据库服务运行中,可以存在多实例运行的概念,什么是数据库服务的多实例呢?

一般在一个系统环境中,可以运行多个相同的服务程序信息,并且产生不同的进程和网络端口信息,就可以成为多实例概念。

2. 多实例的作用?

充分利用硬件资源

 2.1 实战多实例

## 1. 环境部署准备
##创建数据目录
mkdir -p /data/330{7..9}/data
chown -R mysql. /data/## 2. 进行不同实例的初始化
##将默认的配置文件改名或者移走
mv /etc/my.cnf /etc/my.cnf.bak
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3308/data
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3309/data## 3. 编写配置文件
vim /data/3307/data/my.cnf 
[mysql]
socket=/tmp/mysql3307.sock
[mysqld]
user=mysql
port=3307
basedir=/usr/local/mysql
datadir=/data/3307/data
socket=/tmp/mysql3307.sockvim /data/3308/data/my.cnf 
[mysql]
socket=/tmp/mysql3308.sock
[mysqld]
user=mysql
port=3308
basedir=/usr/local/mysql
datadir=/data/3308/data
socket=/tmp/mysql3308.sockvim /data/3309/data/my.cnf 
[mysql]
socket=/tmp/mysql3309.sock
[mysqld]
user=mysql
port=3309
basedir=/usr/local/mysql
datadir=/data/3309/data
socket=/tmp/mysql3309.sockmysqld_safe --defaults-file=/data/3307/data/my.cnf &
mysqld_safe --defaults-file=/data/3308/data/my.cnf &
mysqld_safe --defaults-file=/data/3309/data/my.cnf &## 4. 检查端口是否成功
## 5. 指定套接字文件登录
mysql -S /tmp/mysql3307.sock   ##登录
select @@port;   ##sql语句查看端口

 3. 数据库服务版本升级

实现程序功能升级,升级过程中:不能影响数据信息,不能影响业务使用

实现升级的方法:

        本地升级:单台服务器升级

        迁移升级:多台服务器升级   -- 主从结构

注意事项:

先进行小版本升级,在进行大版本升级

3.1 数据库升级实战(5.6---->5.7) 

## 0. 准备环境
systemctl  start mysql56  ##启动5.6数据库
## 创建测试数据
create database oldboy;
create table stu (name varchar(10),age int,gender char(1));
insert into stu values ('oldboy',20,'m');
select * from stu;## 1. 数据库旧版服务关闭
systemctl stop mysql56.service ## 2. 数据库服务最新程序启动
## 实现挂库信息配置。 然后跳过授权表和网络的方式启动,新程序加载旧数据
vim /etc/my57.cnf
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql57
datadir=/data/3356/data      ##修改为旧版的数据目录
socket=/tmp/mysql.sock##启动新版数据库/usr/local/mysql57/bin/mysqld_safe --defaults-file=/etc/my57.cnf --skip-grant-tables --skip-networking &## 3. 进入数据库查看数据
select * from oldboy.stu;
## 4. 数据库服务升级数据结构
/usr/local/mysql57/bin/mysql_upgrade -S /tmp/mysql.sock --force

3.2 数据库升级实战(5.7------>8.0)

## 1. 数据库最新程序安装
## 2. 旧版数据库服务关闭
systemctl  stop mysql57
## 3. 新版数据库服务启动
## 实现挂库信息配置。 然后跳过授权表和网络的方式启动,新程序加载旧数据
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3356/data      ##旧版本的数据目录
socket=/tmp/mysql.sock## 启动新版数据库
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking &## 查看数据是否丢失
mysql
select * from oldboy.stu;
http://www.lryc.cn/news/523093.html

相关文章:

  • vscode项目依赖问题
  • R数据分析:有调节的中介与有中介的调节的整体介绍
  • RabbitMQ-消息可靠性以及延迟消息
  • Hack The Box-Starting Point系列Oopsie
  • Linux运维篇-PAM安全模块配置
  • 麒麟V10系统上安装Oracle
  • 项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(七)
  • Elasticsearch:Jira 连接器教程第二部分 - 6 个优化技巧
  • Vulnhub Earth靶机攻击实战(一)
  • 51单片机——DS18B20温度传感器
  • HTML5+Canvas实现的鼠标跟随自定义发光线条源码
  • 关于jwt和security
  • 统计学习算法——逻辑斯谛回归
  • 算法(蓝桥杯)贪心算法5——删数问题的解题思路
  • 数字孪生发展及应用
  • MYSQL对表的增删改查
  • 左神算法基础提升--4
  • 【docker踩坑记录】
  • CloudberryDB(四)并行执行
  • LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS
  • rabbitmq安装延迟队列
  • Kubernetes (K8s) 入门指南
  • Python 调用 Ollama 库:本地大语言模型使用详解
  • python matplotlib绘图,显示和保存没有标题栏和菜单栏的图像
  • 无人机(Unmanned Aerial Vehicle, UAV)路径规划介绍
  • python爬虫入门(实践)
  • 于灵动的变量变幻间:函数与计算逻辑的浪漫交织(下)
  • python实现pdf转word和excel
  • Pandas使用笔记
  • 高等数学学习笔记 ☞ 定积分与积分公式