linux云计算学习第八周,第九周

目录

1、按照课程演示完成tomcat部署安装和配置虚拟主机实现java程序的访问

1.1ubantu主机部署java环境

1.2定制环境变量

1.3加载环境变量

1.4获取软件

1.5解压软件

1.6定制软连接

1.7定制系统环境变量

1.8启动tomcat

1.9定制服务脚本

1.9.1创建用户

1.9.2赋予权限

1.9.3编写脚本

1.9.4加载服务配置

1.9.5启动

2、JVM原理总结,GC,内存分配等

2.1JVM原理

2.2GC

2.3内存分配

[3、 总结关系型数据库相关概念,关系,行,列,主键,唯一键。](#3、 总结关系型数据库相关概念,关系,行,列,主键,唯一键。)

3.1关系型数据库

3.2行

3.3列

3.4主键

3.5唯一键

4、总结关联类型,1对1,1对多,多对多关系。可以自行设计表进行解释。

4.1一对一关系

4.2一对多关系

4.3多对多关系

5、基于课程演示总结Mysql安装方式,并总结mysql配置文件。

5.1Mysql安装方式

5.1.1包管理方式安装

5.1.2二进制源码安装

5.2mysql配置文件

6、掌握如何获取SQL命令的帮助,基于课程演示完成数据库和表的创建等

6.1获取SQL命令的帮助

6.2完成数据库和表的创建

[7、完成总结DDL, DML的用法,并配上示例。](#7、完成总结DDL, DML的用法,并配上示例。)

7.1DDL语法

7.1.1创建

7.1.2修改

7.1.3删除

7.2DML语法

7.2.1插入

7.2.2查询

7.2.3更新

7.2.4删除

8、总结mysql架构原理和总结myisam和Innodb存储引擎的区别。

8.1mysql架构原理

8.1.1连接层

8.1.2服务层

8.1.3存储引擎层

8.1.4系统层

8.2myisam和innodb的区别

9、总结事务ACID事务特性,总结事务日志工作原理。

9.1事物ACID特性

9.1.1原子性

9.1.2一致性

9.1.3隔离性

9.1.4持久性

9.2事物日志工作原理

[9.2.1redo log](#9.2.1redo log)

[9.2.2undo log](#9.2.2undo log)

9.2.3协同工作

10、总结mysql日志类型,并说明如何启动日志。

10.1mysql日志类型

10.1.1错误日志

10.1.2通用日志

10.1.3慢查询日志

10.1.4二进制日志

11、总结二进制日志的不同格式的使用场景。

11.1statment

11.2row

12、基于课程演示完成mysql备份,完成数据库备份与恢复验证。

12.1MySQL备份

[13、根据课程演示完成mysql 主从和读写分离的实验过程](#13、根据课程演示完成mysql 主从和读写分离的实验过程)

13.1主节点配置

13.1.1安装软件

13.1.2准备目录并修改权限

13.1.3修改配置文件

13.1.4创建账号并授权

13.2从节点配置

13.2.1安装软件

13.2.2准备目录并修改权限

13.2.3修改配置文件

13.2.4配置主从

13.2.5启动同步

13.3测试同步效果

13.3.1主节点写入数据

13.3.2从节点验证


1、按照课程演示完成tomcat部署安装和配置虚拟主机实现java程序的访问

1.1ubantu主机部署java环境

复制代码
apt install openjdk-11-jdk -y

1.2定制环境变量

复制代码
vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$JAVA_BIN:$PATH

1.3加载环境变量

复制代码
source /etc/profile.d/java.sh

1.4获取软件

复制代码
mkdir /data/softs -p; cd /data/softs

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz

链接已失效,需要自行下载安装包后上传,就算找到可用连接,下载速度也是非常慢

1.5解压软件

复制代码
mkdir /data/server

1.6定制软连接

复制代码
ln -s /data/server/apache-tomcat-9.0.97 /data/server/tomcat

1.7定制系统环境变量

复制代码
vim /etc/profile.d/tomcat.sh

export CATALINA_BASE=/data/server/tomcat
export CATALINA_HOME=/data/server/tomcat
export CATALINA_TMPDIR=$CATALINA_HOME/temp
export CLASSPATH=$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar
export PATH=$CATALINA_HOME/bin:$PATH

加载变量

复制代码
source /etc/profile.d/tomcat.sh

1.8启动tomcat

复制代码
catalina.sh start

关闭tomcat

复制代码
catalina.sh stop

1.9定制服务脚本

1.9.1创建用户

复制代码
useradd -r -s /sbin/nologin tomcat

1.9.2赋予权限

复制代码
chown -R tomcat:tomcat /data/server/tomcat
chown tomcat:tomcat -R /data/server/tomcat/*

1.9.3编写脚本

复制代码
vim /lib/systemd/system/tomcat.service

[Unit]
Description=Tomcat
After=syslog.target network.target

[Service]
Type=forking
# Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
ExecStart=/data/server/tomcat/bin/startup.sh
ExecStop=/data/server/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

1.9.4加载服务配置

复制代码
systemctl daemon-reload

1.9.5启动

复制代码
systemctl start tomcat

2、JVM原理总结,GC,内存分配等

2.1JVM原理

JVM,全称Java Virtual Machine,即Java虚拟机。它是一个运行在计算机上的程序,主要职责是运行Java字节码文件。

JVM是一种规范,本身是一个虚拟计算机,直接和操作系统进行交互,不直接与硬件交互。操作系统可以帮助JVM完成与硬件的交互工作。

Java借助JVM实现了平台无关性,即"write Once,Run Anywhere(编写一次,到处运行)"的跨平台特性。

2.2GC

在堆内存中如果创建的对象不再使用,仍占用着内存,此时即为垃圾,需要进行垃圾回收,从而释放内存空间给其它对象使用。

这个时候,JVM将调用垃圾回收机制来回收内存空间。 堆内存里面经常创建、销毁对象,内存也是被使用、被释放。

如果不妥善处理,一个使用频繁的进程,可能会出现虽然有足够的内存容量,但是无法分配出可用内存空间,因为没有连续成片的内存了,内存全是碎片化的空间。 所以需要有合适的垃圾回收机制,确保正常释放不再使用的内存空间,还需要保证内存空间尽可能的保持一定的连续。

2.3内存分配

优先在 Eden 区分配:大多数对象优先在新生代 Eden 区分配,当 Eden 区满时触发 Minor GC

大对象直接进入老年代:超过 -XX:PretenureSizeThreshold 阈值的对象直接分配到老年代

长期存活对象进入老年代:对象经历一定次数(默认 15 次)GC 后仍存活,晋升到老年代

动态年龄判断:Survivor 区中相同年龄对象的总大小超过 Survivor 空间的 50%,年龄≥该值的对象直接进入老年代

空间分配担保:Minor GC 前,老年代会先检查是否有足够空间容纳新生代存活对象,否则提前触发 Major GC

3、 总结关系型数据库相关概念,关系,行,列,主键,唯一键。

3.1关系型数据库

关系型数据库是基于关系模型构建的数据库,通过二维表结构组织和存储数据,以行和列的形式体现数据间的关联关系,典型代表包括 MySQL、Oracle、SQL Server 等。其核心设计思想是将现实世界中的实体及实体间关系抽象为表结构,通过结构化查询语言(SQL)进行数据操作。

3.2行

又称记录(Record),是表中的一条完整数据条目,代表一个具体的实体实例。

3.3列

又称字段(Field),是表中的一个数据维度,代表实体的某一属性。

3.4主键

用于唯一标识表中每一行的一个或多个列的组合,是表的核心约束。

3.5唯一键

确保表中某一列或列组合的值具有唯一性的约束,但允许存在一个 NULL 值(部分数据库支持)。

4、总结关联类型,1对1,1对多,多对多关系。可以自行设计表进行解释。

4.1一对一关系

表 A 中的一条记录仅对应表 B 中的一条记录

复制代码
-- 用户表(user)
CREATE TABLE user (
  user_id INT PRIMARY KEY,  -- 主键
  username VARCHAR(50) NOT NULL,
  password VARCHAR(100) NOT NULL
);

-- 用户详情表(user_detail)
CREATE TABLE user_detail (
  detail_id INT PRIMARY KEY,
  user_id INT UNIQUE,  -- 唯一外键,关联用户表
  real_name VARCHAR(50),
  address VARCHAR(200),
  phone VARCHAR(20),
  FOREIGN KEY (user_id) REFERENCES user(user_id)
);

4.2一对多关系

表 A 中的一条记录可对应表 B 中的多条记录,而表 B 中的一条记录仅对应表 A 中的一条记录

复制代码
-- 部门表(department)
CREATE TABLE department (
  dept_id INT PRIMARY KEY,
  dept_name VARCHAR(50) NOT NULL,
  location VARCHAR(100)
);

-- 员工表(employee)
CREATE TABLE employee (
  emp_id INT PRIMARY KEY,
  emp_name VARCHAR(50) NOT NULL,
  salary DECIMAL(10, 2),
  dept_id INT,  -- 外键,关联部门表
  FOREIGN KEY (dept_id) REFERENCES department(dept_id)
);

4.3多对多关系

表 A 中的一条记录可对应表 B 中的多条记录,反之表 B 中的一条记录也可对应表 A 中的多条记录

复制代码
-- 学生表(student)
CREATE TABLE student (
  student_id INT PRIMARY KEY,
  student_name VARCHAR(50) NOT NULL,
  grade INT
);

-- 课程表(course)
CREATE TABLE course (
  course_id INT PRIMARY KEY,
  course_name VARCHAR(50) NOT NULL,
  teacher VARCHAR(50)
);

-- 学生选课中间表(student_course)
CREATE TABLE student_course (
  student_id INT,
  course_id INT,
  score DECIMAL(5, 2),  -- 可选:记录选课成绩
  PRIMARY KEY (student_id, course_id),  -- 联合主键
  FOREIGN KEY (student_id) REFERENCES student(student_id),
  FOREIGN KEY (course_id) REFERENCES course(course_id)
);

5、基于课程演示总结Mysql安装方式,并总结mysql配置文件。

5.1Mysql安装方式

5.1.1包管理方式安装

配置好仓库源,用包管理器进行安装

复制代码
apt install mysql-server -y

5.1.2二进制源码安装

下载适合系统的二进制安装文件,创建 mysql 组和用户,解压文件并设置权限,执行mysql/bin/mysqld --initialize初始化,指定配置文件路径等,将相关文件添加为系统服务并设置开机自启动。

5.2mysql配置文件

复制代码
vim /etc/my.cnf.d/mysql-clients.cn

[mysql] 
# 设置mysql命令行客户端的全局选项
[mysql_upgrade]
# 用于mysql_upgrade工具的配置。mysql_upgrade用于检查并升级MySQL表的格式。
[mysqladmin]
# 为mysqladmin工具配置选项。mysqladmin用于执行管理任务,如检查服务器状态、创建和删除数据库
等。
[mysqlbinlog]
# 配置mysqlbinlog工具,它用于处理二进制日志文件,这些文件记录了数据库的所有更改。
[mysqlcheck]
# 为mysqlcheck工具设置选项,该工具用于检查、修复、优化和分析表。
[mysqldump]
# 配置mysqldump工具,它用于生成数据库的备份。
[mysqlimport]
# 为mysqlimport工具设置选项,该工具用于从文本文件导入数据到表中。
[mysqlshow]
# 配置mysqlshow工具,它用于显示数据库、表、列或索引的信息。
[mysqlslap]
# 为mysqlslap工具配置选项,该工具用于模拟和测试MySQL服务器的负载。

6、掌握如何获取SQL命令的帮助,基于课程演示完成数据库和表的创建等

6.1获取SQL命令的帮助

使用help命令

6.2完成数据库和表的创建

复制代码
create database db1;

CREATE TABLE IF NOT EXISTS user (
    user_id INT AUTO_INCREMENT PRIMARY KEY,         -- 自增主键,唯一标识用户
    username VARCHAR(50) NOT NULL UNIQUE,           -- 用户名非空且唯一
    password VARCHAR(100) NOT NULL,                 -- 密码非空
    email VARCHAR(100) UNIQUE,                      -- 邮箱唯一(允许NULL)
    phone VARCHAR(20),                               -- 手机号
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP,  -- 创建时间默认当前时间
    last_login_time DATETIME,                        -- 最后登录时间
    status TINYINT DEFAULT 1 COMMENT '1=启用,0=禁用' -- 状态字段+注释
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;            -- 存储引擎+字符集

7、完成总结DDL, DML的用法,并配上示例。

7.1DDL语法

7.1.1创建

bash 复制代码
-- 1.1 创建数据库
CREATE DATABASE IF NOT EXISTS mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

-- 1.2 创建表(含完整约束)
CREATE TABLE IF NOT EXISTS user (
    user_id INT AUTO_INCREMENT PRIMARY KEY,        -- 自增主键
    username VARCHAR(50) NOT NULL UNIQUE,         -- 非空唯一
    password VARCHAR(100) NOT NULL,               -- 非空
    email VARCHAR(100) UNIQUE,                    -- 邮箱唯一
    age TINYINT CHECK (age > 0 AND age < 150),    -- 检查约束
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP -- 默认当前时间
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 1.3 创建索引
CREATE INDEX idx_username ON user(username);    -- 普通索引
CREATE UNIQUE INDEX uk_email ON user(email);    -- 唯一索引
CREATE FULLTEXT INDEX ft_desc ON product(desc); -- 全文索引(MyISAM引擎)

-- 1.4 创建视图(虚拟表,基于查询结果)
CREATE VIEW v_active_users AS
SELECT user_id, username, age FROM user WHERE status = 1;

7.1.2修改

bash 复制代码
-- 2.1 添加字段
ALTER TABLE user ADD COLUMN phone VARCHAR(20);
ALTER TABLE user ADD COLUMN address VARCHAR(200) AFTER username; -- 指定位置

-- 2.2 修改字段
ALTER TABLE user MODIFY COLUMN phone VARCHAR(25) NOT NULL;        -- 修改类型和约束
ALTER TABLE user CHANGE COLUMN address user_addr VARCHAR(255);   -- 修改字段名和类型

-- 2.3 删除字段
ALTER TABLE user DROP COLUMN phone;

-- 2.4 添加约束
ALTER TABLE user ADD PRIMARY KEY (user_id);                      -- 主键(已存在则忽略)
ALTER TABLE user ADD UNIQUE (phone);                            -- 唯一键
ALTER TABLE user ADD FOREIGN KEY (dept_id) REFERENCES dept(dept_id); -- 外键

-- 2.5 修改表属性
ALTER TABLE user ENGINE=InnoDB;                                 -- 更改存储引擎
ALTER TABLE user CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 修改字符集

7.1.3删除

bash 复制代码
-- 3.1 删除表
DROP TABLE IF EXISTS user;                                      -- 删除表及数据
DROP TABLE IF EXISTS user, order_info;                         -- 批量删除

-- 3.2 清空表数据(保留表结构)
TRUNCATE TABLE user;                                           -- 速度比DELETE快,不可回滚

7.2DML语法

7.2.1插入

bash 复制代码
-- 1.1 插入完整记录
INSERT INTO user (username, password, email, age)
VALUES ('张三', '123456', '[email protected]', 25);

-- 1.2 批量插入
INSERT INTO user (username, password, email)
VALUES 
('李四', 'abcdef', '[email protected]'),
('王五', 'qwerty', '[email protected]');

-- 1.3 从查询结果插入
INSERT INTO user (username, email, age)
SELECT username, email, age FROM old_user WHERE age > 18;

-- 1.4 插入或更新(ON DUPLICATE KEY UPDATE)
INSERT INTO user (user_id, username, email)
VALUES (1001, '赵六', '[email protected]')
ON DUPLICATE KEY UPDATE email = '[email protected]'; -- 若user_id=1001存在则更新email

7.2.2查询

bash 复制代码
-- 2.1 基础查询
SELECT user_id, username, age FROM user WHERE age > 30;

-- 2.2 多表关联查询(内连接、左连接)
SELECT u.username, o.order_id, o.amount
FROM user u
JOIN order_info o ON u.user_id = o.user_id    -- 内连接
LEFT JOIN order_product op ON o.order_id = op.order_id; -- 左连接

-- 2.3 分组与聚合
SELECT dept_id, COUNT(*) AS user_count, AVG(age) AS avg_age
FROM user
GROUP BY dept_id
HAVING user_count > 10 AND avg_age < 40;

-- 2.4 子查询
SELECT username, age FROM user
WHERE age > (SELECT AVG(age) FROM user);  -- 查询年龄大于平均年龄的用户

7.2.3更新

bash 复制代码
-- 3.1 单表更新
UPDATE user SET age = age + 1 WHERE username LIKE '张%'; -- 所有张姓用户年龄+1
UPDATE user SET email = '[email protected]' WHERE email IS NULL; -- 补全空邮箱

-- 3.2 多表关联更新
UPDATE user u
JOIN order_info o ON u.user_id = o.user_id
SET u.is_vip = 1 WHERE o.total_amount > 10000; -- 消费超1万的用户设为VIP

7.2.4删除

bash 复制代码
-- 4.1 单表删除
DELETE FROM user WHERE age < 18; -- 删除未成年人记录
DELETE FROM user LIMIT 100;      -- 最多删除100条(防误删)

-- 4.2 多表关联删除
DELETE u FROM user u
JOIN order_info o ON u.user_id = o.user_id
WHERE o.create_time < '2023-01-01'; -- 删除2023年前无订单的用户

8、总结mysql架构原理和总结myisam和Innodb存储引擎的区别。

8.1mysql架构原理

mysql采用插件式架构,核心功能分为四组

8.1.1连接层

负责处理客户端连接请求,支持 TCP/IP、Unix Socket 等连接方式

包含连接池管理、权限验证(基于 user 表的用户认证)

处理客户端协议解析(如 MySQL Protocol)

8.1.2服务层

查询解析器:将 SQL 语句解析为抽象语法树(AST)

查询优化器:分析执行计划,选择最优索引和表连接方式

查询缓存:缓存 SELECT 结果(5.7 版本后默认禁用,8.0 版本移除)

内置函数:实现数学、字符串、日期等函数逻辑

事务管理:处理 ACID 事务(由存储引擎实现具体逻辑)

8.1.3存储引擎层

插件式架构核心,不同引擎实现独立的数据存储逻辑

标准接口:read_row、write_row、delete_row等

常见引擎:InnoDB(默认)、MyISAM、Memory、Archive 等

8.1.4系统层

操作系统交互:文件 IO、内存分配

磁盘存储管理:数据文件、日志文件的物理读写

进程 / 线程管理:处理多连接并发请求

8.2myisam和innodb的区别

9、总结事务ACID事务特性,总结事务日志工作原理。

9.1事物ACID特性

9.1.1原子性

事务作为最小执行单元,要么全部完成,要么全部回滚,不存在中间状态

9.1.2一致性

事务执行前后,数据库从一个合法状态转换到另一个合法状态

9.1.3隔离性

多个事务并发执行时,相互之间不可见,避免数据不一致

9.1.4持久性

事务提交后,数据变更永久保存,即使发生系统崩溃也不丢失

9.2事物日志工作原理

9.2.1redo log

保证事务的持久性,记录数据修改后的新状态

9.2.2undo log

实现事务原子性

9.2.3协同工作

Redo Log 通过预写机制确保数据不丢失,Undo Log 通过版本控制和回滚机制保障事务原子性与隔离性。两者配合 InnoDB 的 WAL 机制和检查点策略,在保证事务可靠性的同时,最大化提升数据库性能。

10、总结mysql日志类型,并说明如何启动日志。

10.1mysql日志类型

10.1.1错误日志

主要记录 MySQL 服务器启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况等。

错误日志功能默认开启且无法禁止。默认情况下,错误日志存储在 MySQL 数据库的数据文件夹下,名称默认为mysqld.log(Linux 系统)或hostname.err(mac 系统)。如果需要指定文件名,可在my.cnf或my.ini中配置log - error=(path/(filename)),修改配置后需重启 MySQL 服务。

10.1.2通用日志

记录所有到达 MySQL 服务器的 SQL 语句

编辑my.cnf(或my.ini)配置文件,在[mysqld]部分添加general_log = 1开启通用日志,添加general_log_file = /path/to/your/log/file.log指定日志文件的路径,然后重启 MySQL 服务。

10.1.3慢查询日志

用于记录执行时间超过特定阈值的 SQL 语句,有助于优化数据库性能。

编辑配置文件,在[mysqld]部分添加slow_query_log = 1,slow_query_log_file = /path/to/your/slow/log/file.log指定慢查询日志文件路径,long_query_time = n(n为慢查询的时间阈值,单位为秒),最后重启 MySQL 服务。

10.1.4二进制日志

记录所有修改数据库数据的 DML 和 DDL(select 语句除外)语句,以二进制形式保存,描述数据的更改,用于数据恢复和主从复制等。

编辑配置文件,在[mysqld]部分添加log - bin = /path/to/your/binlog/file,重启 MySQL 服务。

11、总结二进制日志的不同格式的使用场景。

11.1statment

特点:直接记录原始 SQL 语句

使用场景

1、简单查询与静态数据操作

当 SQL 语句完全确定(如UPDATE users SET status=1 WHERE id=123),且无触发器、函数依赖时,可显著降低日志存储成本。

2、开发测试环境

对数据一致性要求较低的场景(如开发调试、临时报表生成),可通过SET sql_log_bin=0临时禁用日志,或直接使用 STATEMENT 格式减少日志量。

11.2row

特点:记录每行数据的具体变化

使用场景

1、金融级强一致性需求

在支付系统、账户管理等场景中,必须确保主从数据完全同步。

2、高并发写入与大表操作

当表包含百万级数据且频繁更新时,ROW 格式能精准记录变更,避免因 STATEMENT 格式的全表扫描导致的复制延迟。

12、基于课程演示完成mysql备份,完成数据库备份与恢复验证。

12.1MySQL备份

mariadb冷备操作流程-CSDN博客https://blog.csdn.net/m0_57215217/article/details/148540307?spm=1001.2014.3001.5501

13、根据课程演示完成mysql 主从和读写分离的实验过程

13.1主节点配置

13.1.1安装软件

bash 复制代码
yum install mysql-server -y

13.1.2准备目录并修改权限

bash 复制代码
mkdir -pv /data/mysql/logbin
bash 复制代码
chown -R mysql:mysql /data/mysql/

13.1.3修改配置文件

bash 复制代码
vim /etc/my.cnf.d/mysql-server.cnf

添加如下内容

bash 复制代码
server-id=177                                              #指定server-id
log_bin=/data/mysql/logbin/mysql-bin                       #指定二进制文件路径
default_authentication_plugin=mysql_native_password # 避免出现认证问题

重启服务

bash 复制代码
systemctl restart mysqld.service

13.1.4创建账号并授权

bash 复制代码
create user repluser@'10.0.0.%' identified by '123456';
grant replication slave on *.* to repluser@'10.0.0.%';
flush privileges;

13.2从节点配置

13.2.1安装软件

bash 复制代码
yum install mysql-server -y

13.2.2准备目录并修改权限

bash 复制代码
mkdir -pv /data/mysql/logbin
bash 复制代码
chown -R mysql:mysql /data/mysql/

13.2.3修改配置文件

bash 复制代码
vim /etc/my.cnf.d/mysql-server.cnf
bash 复制代码
server-id=183                                             #指定server-id
log_bin=/data/mysql/logbin/mysql-bin                       #指定二进制文件路径
default_authentication_plugin=mysql_native_password # 避免出现认证问题

重启服务

bash 复制代码
systemctl restart mysqld.service

13.2.4配置主从

bash 复制代码
CHANGE MASTER TO MASTER_HOST='10.0.0.12', MASTER_USER='repluser',
MASTER_PASSWORD='123456', MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=849;

13.2.5启动同步

bash 复制代码
start slave;

13.3测试同步效果

13.3.1主节点写入数据

创建数据库

bash 复制代码
create database db1;
use db1;

创建数据表

bash 复制代码
create table `student`(
    `id` int unsigned NOT NULL AUTO_INCREMENT,
    `name` varchar(20) NOT NULL,
    `age` tinyint unsigned DEFAULT NULL,
    `gender` enum('M','F') DEFAULT 'M',
    PRIMARY KEY (`id`)
    )ENGINE=InnoDB;

写入数据

bash 复制代码
insert into student (name,age,gender)values('user1',10,'M'),('user2',20,'F'),('user3',30,'M');

13.3.2从节点验证

可以看到此时从节点已经有数据

相关推荐
容器魔方3 小时前
Volcano v1.12 正式发布!驱动云原生AI与批量计算向智能高效新阶段演进
云原生·容器·云计算
hujun86103 小时前
Ubuntu安装无线网卡
linux
Johny_Zhao4 小时前
CentOS Stream 8 高可用 Kuboard 部署方案
linux·网络·python·网络安全·docker·信息安全·kubernetes·云计算·shell·yum源·系统运维·kuboard
卖猪肉的痴汉6 小时前
1.1 Linux 编译FFmpeg 4.4.1
linux·ffmpeg
十五年专注C++开发6 小时前
Qt .pro配置gcc相关命令(三):-W1、-L、-rpath和-rpath-link
linux·运维·c++·qt·cmake·跨平台编译
Chef_Chen6 小时前
从0开始学习语言模型--Day02-如何最大化利用硬件
人工智能·学习·语言模型
qq_628515766 小时前
Centos与RockLinux设置静态ip
linux·运维·centos
davenian6 小时前
< 自用文儿 腾讯云 VPS > Ubuntu 24 系统,基本设置
云计算·腾讯云
机灵小和尚6 小时前
腾讯云 Teo H5直传CDN空间
后端·云计算·php·腾讯云·html5
LuLaLuLaLeLLLLLL7 小时前
Elastic Search 学习笔记
笔记·学习