mysql 主主HA高可用方案详解

1.环境准备:
主机:192@@@1.4,192@@@1.5
操作系统:centos 7.3
mysql数据库版本:mysql 5.7.13
浮动IP:192@@@1.182
2.mysql 下载及解压安装配置
2.1 下载:
#wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
2.2 解压安装

tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

mv mysql-5.7.13-linux-glibc2.5-x86_64 mysql

#mv mysql /usr/local
2.3 配置
2.3.1 创建数据目录(/mysqldata/mysql)
#mkdir /data/mysql
2.3.2 新建mysql用户、组及目录

—新建一个msyql组

groupadd mysql

useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql —新建msyql用户禁止登录shell

2.3.3 修改目录属有者
#cd /usr/local
#chown -R mysql:mysql /usr/local/mysql
#chown -R mysql:mysql /data/mysql
2.3.4 配置参数初始化
#cd /usr/local/mysql
#bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql


[Note] A temporary password is generated for root@localhost:YLi>7ecpe;YP
⚠️注意:执行的输出内容最后有临时生成的密码!
2.3.5 SSL的安装与配置(/mysqldata/mysql)
#bin/mysql_ssl_rsa_setup --datadir=/data/mysql
执行完后数据目录下多出了一些以pem结尾的文件,而这些文件就是开启SSL连接所需要的文件。
2.3.6 修改系统配置文件

cp support-files/my-default.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

编辑:/etc/init.d/mysqld:
basedir=/usr/local/mysql
datadir=/data/mysql

⚠️预设字符集:UTF-8
a.在[mysqld]下添加
  default-character-set=utf8(mysql 5.5 版本添加character-set-server=utf8)
b.在[client]下添加
  default-character-set=utf8

2.3.6.1 修改192@@@1.4 主机/etc/my.cnf配置文件 底部有实例
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M#datadir=/data/mysql
#socket=/var/lib/mysql/mysql.sockbasedir=/usr/local/mysql
datadir=/mysqldata/mysql
socket=/mysqldata/mysql/mysql.sock
character-set-server=utf8
max_connections=1000default-storage-engine=INNODB
innodb_large_prefix=on# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES#主主复制配置:
auto_increment_offset=1
auto_increment_increment=2
#启用二进制日志 注意:日志的目录需要先建立,并将所有者该为mysql
log-bin=mysql-bin
binlog_format=row
log_bin_trust_function_creators=1
##################################################
#注:不加binlog-do-db和binlog_ignore_db,那就表示全部数据库都记录二进制日志。
#需要记录二进制日志的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
binlog-do-db=ambari
binlog-do-db=hive
binlog-do-db=ranger
#不需要记录二进制日志的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
###################################################
#超过30天的binlog删除
expire_logs_days=30
#服务器唯一ID,默认是1,一般取IP最后一段
server-id=4
#配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步
log-slave-updates
sync_binlog=1
#中继日志文件
relay_log = mysql-relay-bin
##################################################
#需要复制的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
replicate-do-db=ambari
replicate-do-db=hive
replicate-do-db=ranger
#不需要复制的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
#replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
##################################################[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/mysqldata/mysql/mysql.sock
default-character-set=utf8

2.3.6.2 修改192@@@1.5 主机/etc/my.cnf配置文件
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M#datadir=/data/mysql
#socket=/var/lib/mysql/mysql.sockbasedir=/usr/local/mysql
datadir=/mysqldata/mysql
socket=/mysqldata/mysql/mysql.sock
character-set-server=utf8
max_connections=1000# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES#主主复制配置(offset不同):
auto_increment_offset=2
auto_increment_increment=2
#启用二进制日志 注意:日志的目录需要先建立,并将所有者该为mysql
log-bin=mysql-bin
binlog_format=row
log_bin_trust_function_creators=1
################################################
#注:不加binlog-do-db和binlog_ignore_db,那就表示全部数据库都记录二进制日志。
#需要记录二进制日志的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
binlog-do-db=ambari
binlog-do-db=hive
binlog-do-db=ranger
#不需要记录二进制日志的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
################################################
#超过30天的binlog删除
expire_logs_days=30
#服务器唯一ID,默认是1,一般取IP最后一段
server-id=5
#配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步
log-slave-updates
sync_binlog=1
#中继日志文件
relay_log = mysql-relay-bin
################################################
#需要复制的数据库名,如果有多个数据库,需要重复设置此参数,每个数据库一行
replicate-do-db=ambari
replicate-do-db=hive
replicate-do-db=ranger
#不需要复制的数据库,如果有多个数据库,需要重复设置此参数,每个数据库一行
#replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
################################################[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid[client]
socket=/mysqldata/mysql/mysql.sock
default-character-set=utf8优化参数:

#mysqld
init_connect=‘SET collation_connection = utf8_unicode_ci’
init_connect=‘SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
#不区分大小写
lower_case_table_names=1

show global variables like “%check%”;
set global foreign_key_checks=0;

2.3.7 添加系统路径
# vim /etc/profile
添加:
export PATH=/usr/local/mysql/bin:$PATH
# source /etc/profile

touch /data/data1/mysqllog/mysqld.log
chown -R mysql:mysql /data/data1/mysqllog
service mysqld start
2.4 启动mysql
#service mysqld start (ok)
#bin/mysql --user=root –p

mysql -uroot -p

set global validate_password_policy=0;
set global validate_password_length=1;

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Aa123456789Aa123456789!’;

修改root密码
mysql>set password=password(‘@@@-2017’);
在5.6后,mysql内置密码增强机制,低强度密码会报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

1)降低密码安全度要求:
mysql>set global validate_password_policy=0;
mysql>set global validate_password_length=1;

2)增加root远程登录(两个机器都要执行!)
mysql>CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘@@@-2017’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
mysql>CREATE USER ‘root’@‘nn01’ IDENTIFIED BY ‘@@@-2017’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@‘nn01’ WITH GRANT OPTION;
mysql>CREATE USER ‘root’@‘nn02’ IDENTIFIED BY ‘@@@-2017’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@‘nn02’ WITH GRANT OPTION;
mysql>CREATE USER ‘root’@‘135.0.97.208’ IDENTIFIED BY ‘@@@-2017’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@‘135.0.97.208’ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
3)、为ambari创建数据库
mysql>create database ambari; -----不用CHARACTER SET=latin1;
4)、配置ambari用户和权限(两个机器都要执行!
mysql>CREATE USER ‘ambari’@‘%’ IDENTIFIED BY ‘ambari123’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘%’ WITH GRANT OPTION;
mysql>CREATE USER ‘ambari’@‘localhost’ IDENTIFIED BY ‘ambari123’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘localhost’ WITH GRANT OPTION;
mysql>CREATE USER ‘ambari’@‘nn01’ IDENTIFIED BY ‘ambari123’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘nn01’ WITH GRANT OPTION;
mysql>CREATE USER ‘ambari’@‘nn02’ IDENTIFIED BY ‘ambari123’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘nn02’ WITH GRANT OPTION;
mysql>CREATE USER ‘ambari’@‘135.0.97.208’ IDENTIFIED BY ‘ambari123’;
mysql>GRANT ALL PRIVILEGES ON . TO ‘ambari’@‘135.0.97.208’ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

create database hive;
alter database hive character set latin1;
CREATE USER ‘hive’@‘%’ IDENTIFIED BY ‘Hive@123’;
GRANT ALL PRIVILEGES ON hive.* TO ‘hive’@‘%’;

create database ambari;
CREATE USER ‘ambari’@‘%’ IDENTIFIED BY ‘Ambari@123’;
GRANT ALL PRIVILEGES ON ambari.* TO ‘ambari’@‘%’;

create database ranger;
alter database ranger character set latin1;
CREATE USER ‘rangeradmin’@‘%’ IDENTIFIED BY ‘Ranger@123’;
GRANT ALL PRIVILEGES ON ranger.* TO ‘rangeradmin’@‘%’;
FLUSH PRIVILEGES;

CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘Root@123’;
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Root@123’;

update mysql.user set Grant_priv=‘Y’,Super_priv=‘Y’;
SELECT host,user,authentication_string,Grant_priv,Super_priv,authentication_string FROM mysql.user;

mysql>select user,host from mysql.user; //查看授权用户
mysql>show grants for repuser@‘slaveip’; //查看授权用户情况
SELECT host,user,Grant_priv,Super_priv FROM mysql.user;

SELECT host,user,Grant_priv,Super_priv,authentication_string FROM mysql.user;

grant all privileges on . to root@‘%’ identified by ‘root1234’;
update mysql.user set Grant_priv=‘Y’,Super_priv=‘Y’;

5)、设置mysql开机自启动
systemctl enable mysqld
systemctl restart mysqld

–输入 2.3.4 操作步骤生成的临时密码
重新设置密码:(Test%0831)
mysql> set password=password(‘Test%0831’);
允许远程登录:(本机登录赋权)
mysql>grant all privileges on . to root@‘%’ identified by ‘Test%0831’;
mysql> flush privileges;
查看用户信息
mysql> use mysql;
mysql> select host,user from user where user=‘root’;
±----------±-----+
| host | user |
±----------±-----+
| % | root |
| localhost | root |
±----------±-----+
2 rows in set (0.00 sec)

本机登录:—ERROR 1045 (28000): Access denied for user ‘root’@‘%’ (using password: YES)
2.5 设置主主复制
创建Slave复制帐号,每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE 权限。
---- 在 4 上执行:
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘replication’@‘192@@@1.5’ IDENTIFIED BY ‘password’;
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘slave’@‘192@@@1.5’ IDENTIFIED BY ‘123’;
FLUSH PRIVILEGES;
---- 在 5 上执行:
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘replication’@‘192@@@1.4’ IDENTIFIED BY ‘password’;
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘slave’@‘192@@@1.4’ IDENTIFIED BY ‘123’;
FLUSH PRIVILEGES;

CREATE USER ‘root’@‘浮动ip’ IDENTIFIED BY ‘*password’;
GRANT ALL PRIVILEGES ON . TO ‘root’@‘浮动ip’ ;
FLUSH PRIVILEGES;

远程登陆
CREATE USER ‘root’@‘@@@174.19.85’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON . TO ‘root’@‘@@@174.19.85’;
FLUSH PRIVILEGES;

–查看5 mysql master 状态(MySQL服务器二进制文件名与位置)
mysql> show master status;
±-----------------±---------±------------------±-------------------------±------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±-----------------±---------±------------------±-------------------------±------------------+
| mysql-bin.000009 | 154 | ambari,hive,ranger| mysql,information_schema | |
±-----------------±---------±------------------±-------------------------±------------------+
1 row in set (0.00 sec)

slave上指定master同步信息(告知二进制文件名与位置)
—按照5 master的状态设置 slave 4 mysql–
change master to
master_host=‘192@@@1.5’,
master_user=‘replication’,
master_password=‘password’,
master_log_file=‘mysql-bin.000009’,
master_log_pos=154; #对端状态显示的值
start slave;
-查看4 mysql master 状态
mysql> show master status;
±-----------------±---------±------------------±-------------------------±------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±-----------------±---------±------------------±-------------------------±------------------+
| mysql-bin.000008 | 1653 | ambari,hive,ranger| mysql,information_schema | |
±-----------------±---------±------------------±-------------------------±------------------+
1 row in set (0.00 sec)

—按照4 master的状态设置 slave 5 mysql–
change master to
master_host=‘192@@@1.4’,
master_user=‘replication’,
master_password=‘password’,
master_log_file=‘mysql-bin.000008’,
master_log_pos=1653; #对端状态显示的值
start slave;

mysql>SLAVE START; #开启复制
mysql>SHOW SLAVE STATUS\G #查看主从复制是否配置成功

2.6 配置mysql自动启动

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 345 mysqld on

2.7 Keepalived 安装配置
2.7.1 安装:
#yum install keepalived -y
2.7.2.1 192@@@1.4 keepalived 配置:
#vi /etc/keepalived/keepalived.cnf
global_defs {
notification_email {
}
}

vrrp_instance PX_MYSQL {state MASTER#state BACKUPinterface bond1virtual_router_id 50priority 100advert_int 1authentication {auth_type PASSauth_pass password123}virtual_ipaddress {192@@@1.182}
}virtual_server 192@@@1.182 3306 {delay_loop 3lb_algo wrrlb_kind DRpersistence_timeout 9600protocol TCPreal_server 192@@@1.4 3306 {notify_down /usr/sbin/stop_keepalived.shweight 1TCP_CHECK {connect_timeout 10connect_port    3306}}
}

2.7.2.2 192@@@1.5 keepalived 配置:
global_defs {
notification_email {
}
}

vrrp_instance PX_MYSQL {state MASTER#state BACKUPinterface bond1virtual_router_id 50priority 90advert_int 1authentication {auth_type PASSauth_pass password123}virtual_ipaddress {192@@@1.182}
}virtual_server 192@@@1.182 3306 {delay_loop 3lb_algo wrrlb_kind DRpersistence_timeout 9600protocol TCPreal_server 192@@@1.5 3306 {notify_down /usr/sbin/stop_keepalived.shweight 1TCP_CHECK {connect_timeout 10connect_port    3306}}
}

⚠️注意:interface 对应的网卡是 192.168网段地址对应的网卡

2.7.2.3 keepalived自监控
[root@OCDC-MYSQL-01 ~]# crontab -l crontab -e
##start keepalived if mysqld started.

          • /usr/sbin/start_keepalived.sh &>/dev/null

[root@OCDC-MYSQL-01 ~]# cat /usr/sbin/start_keepalived.sh (service | systemctl命令监控mysql状态)
#!/bin/sh

#start keepalived if mysqld started.
#* * * * * /usr/sbin/start_keepalived.sh &>/dev/null

if [ $(systemctl status mysql.service|grep -c “active (running)”) -eq 1 ];
then
if [ $(systemctl status keepalived.service|grep -c “active (running)”) -eq 0 ];
then
systemctl start keepalived
fi
fi
####################################
[root@OCDC-MYSQL-01 ~]# cat /usr/sbin/stop_keepalived.sh
#!/bin/sh

systemctl stop keepalived

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

easyexcel 模板填充Excel数据,实现自定义换行及动态调整行高,并保持列表格式一致

pom依赖&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.5</version> </dependency><dependency><groupId>com.alibaba</groupId><artifa…

数据结构-线性表的应用

目录 前言一、有序表的合并1.1 顺序表实现1.2 单链表实现 二、稀疏多项式的相加和相乘2.1 稀疏多项式的相加2.2 稀疏多项式的相乘 总结 前言 本篇文章介绍线性表的应用&#xff0c;分别使用顺序表和单链表实现有序表的合并&#xff0c;最后介绍如何使用单链表实现两个稀疏多项…

基于springboot+vue+uniapp的超市售货管理平台

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…

考研生活day2--王道课后习题2.3.1、2.3.2、2.3.3

2.3.1 题目描述&#xff1a; 这题和曾经做过的LeetCode203.移除元素一模一样&#xff0c;所以我们就使用LeetCode进行书写&#xff0c;题目链接203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 解题思路 大家的第一反应肯定是根据书上所学的书写方法一样书写&…

【PB案例学习笔记】-26制作一个带浮动图标的工具栏

写在前面 这是PB案例学习笔记系列文章的第26篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

爬虫cookie是什么意思

“爬虫 cookie”指的是网络爬虫在访问网站时所使用的cookie&#xff0c;网络爬虫是一种自动化程序&#xff0c;用于在互联网上收集信息并进行索引&#xff0c;这些信息可以用于搜索引擎、数据分析或其他目的。 本教程操作系统&#xff1a;Windows10系统、Dell G3电脑。 “爬虫…

51-1 内网信息收集 - 内网资源探测

导语 在内网渗透过程中,通常需要利用各种技术来探测内网资源,为后续的横向渗透做准备。发现内网存活的主机及其详细信息可以帮助确定攻击方向和潜在的漏洞。 一、基于 ICMP 发现存活主机 ICMP(Internet Control Message Protocol,因特网控制消息协议)是 TCP/IP 协议簇的…

一段式、二段式和三段式状态机的特点及适用情况:

在FPGA设计中,状态机的选择主要取决于具体应用场景和设计需求。 一段式状态机: 优点: 结构简单,易于理解和实现占用资源少时序逻辑简单,延迟小 缺点: 组合逻辑复杂度高可能存在毛刺问题不易于大规模状态机的设计 适用场景: 简单的控制逻辑状态数量较少的场合对时序要求较…

React+TS前台项目实战(二十二)-- 全局常用导出组件Export封装

文章目录 前言Export组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天我们来封装一个带导出图标的导出组件。 Export组件 1. 功能分析 通过传入链接地址&#xff0c;规定要跳转的导出页面&#xff0c;或是直接通过链接导出数据 2. 代码详细注释 // /c…

虚拟环境管理

虚拟环境 在使用 Python 时我们一般使用“pip install 第三方包名”来安装第三方包&#xff0c;但是由于pip的特性&#xff0c;系统只能安装每个包的一个版本。而在实际开发中&#xff0c;可能同时开发多个项目&#xff0c;如&#xff1a;上图有三个项目&#xff1b;每个项目需…

django学习入门系列之第三点《BootSrap初了解》

文章目录 初识BootStrap往期回顾 初识BootStrap BootSrap是什么&#xff1f; 是别人帮我们已写好的CSS样式&#xff0c;我们如果想要使用这个BootSrap&#xff1a; 下载BootStrap使用 在页面上引入BootStrap编写HTML时&#xff0c;按照BootStrap的规定来编写 自定制 官网&…

【UE5.1】Chaos物理系统基础——02 场系统的应用

目录 步骤 一、运用临时场&#xff08;外部张力&#xff09;破裂几何体集 二、使用构造场固定几何体集 步骤 在上一篇中&#xff08;【UE5.1】Chaos物理系统基础——01 创建可被破坏的物体&#xff09;我们已经创建了可被破碎的几何体集&#xff0c;在最后我们防止几何体集…

微信小程序简历Demo

微信小程序简历Demo 使用介绍最后获取源码 bilibili视频介绍 使用介绍 使用微信小程序实现的一个简历实现Demo 拖动马里奥&#xff0c;到指定Name下方 向上顶就可以显示对应的简历样式 点击头像可拨打电话 点击信息处可显示当前位置 最后 这是一个简单并且有趣的微信小程…

Renesas MCU使用SCI_I2C驱动OLED

目录 概述 1 软硬件 1.1 软件版本信息 1.2 OLED屏幕 1.2.1 OLED简介 1.2.2 SSD1306介绍 1.2.3 0.9寸OLED模块介绍 2 FSP配置项目 2.1 配置项目参数 2.2 生成项目文件架构 3 代码实现 3.1 I2C的库函数 3.1.1 R_SCI_I2C_Open() 3.1.2 R_SCI_I2C_Read() 3.1.3 R_SCI_…

谷粒商城篇章10 -- P262-P291/P295-P310 -- 订单服务(支付)【分布式高级篇七】

目录 1 页面环境搭建 1.1 静态资源上传到nginx 1.2 SwitchHosts增加配置 1.3 网关配置 1.4 订单模块基础配置 1.4.1 引入 thymeleaf 依赖 1.4.2 application.yml配置 1.4.3 bootstrap.properties配置 1.4.4 开启nacos注册发现和远程调用 1.5 修改各个页面的静态资源路…

windows电脑开发ios的p12证书申请流程

很多同学在做ios打包的时候&#xff0c;发现ios打包需要一个p12格式的证书和一个证书profile文件&#xff0c;那么ios开发就一定需要使用mac电脑来申请ios证书吗&#xff1f;其实申请ios证书并不一定需要mac电脑&#xff0c;因为证书是一个通用的技术&#xff0c;使用普通的ssl…

Perl 语言开发(二):变量与数据类型

目录 1. 变量的基本概念 1.1 标量变量 1.2 数组变量 1.3 哈希变量 2. 数据类型详解 2.1 标量数据类型 2.1.1 数字 2.1.2 字符串 2.2 数组数据类型 2.2.1 数组操作 2.3 哈希数据类型 2.3.1 哈希操作 3. 变量的作用域与生存期 3.1 全局变量 3.2 局部变量 3.3 词法…

JavaScript将参数传递给事件处理程序

本篇文件我们将实现导航栏中&#xff0c;选中时候&#xff0c;会将您选中的进行高亮显示&#xff1b; ● 首先我们来获取我们想要的HTML元素 const nav document.querySelector(.nav);● 接着我们来写选中的高亮显示 nav.addEventListener(mouseover, function (e) { //鼠…

主干网络篇 | YOLOv5/v7 更换主干网络之 ShuffleNetv2 | 高效CNN架构设计的实用指南

主干网络篇 | YOLOv5/v7 更换主干网络之 ShuffleNetv2 | 高效CNN架构设计的实用指南 1. 简介 近年来&#xff0c;深度卷积神经网络&#xff08;CNN&#xff09;在图像识别、目标检测等领域取得了巨大进展。然而&#xff0c;随着模型复杂度的不断提升&#xff0c;模型训练和部…

申请一张含100个域名的证书-免费SSL证书

挑战一下&#xff0c;申请一张包含100个域名的证书 首先&#xff0c;我们访问来此加密网站&#xff0c;进入登录页面&#xff0c;输入我的账号密码。 登录后&#xff0c;咱们就可以开始申请证书&#xff0c;首先说一下&#xff0c;咱账号是SVIP哦&#xff0c;只有SVIP才可以申…