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

泰州市网站制作公司长春网站优化

泰州市网站制作公司,长春网站优化,福建seo网站,安徽seo报价文章目录 前言环境配置主库从库 STATEMENTbinloggtidlog-errorDistSQL总结 前言 mysql 主从复制使用感受,遇到一些问题的整理,也总结了一些排查问题技巧。 环境 mysql5.7 配置 附:千万级数据快速插入配置可以参考:mysql千万数…

文章目录

  • 前言
  • 环境
  • 配置
    • 主库
    • 从库
  • STATEMENT
  • binlog
  • gtid
  • log-error
  • DistSQL
  • 总结


前言

mysql 主从复制使用感受,遇到一些问题的整理,也总结了一些排查问题技巧。


环境

mysql5.7

配置

附:千万级数据快速插入配置可以参考:mysql千万数据快速插入-实战

主库

主要配置

server_id=16523
log_bin=/laday/mysql/logbin/log_bin
# 这里为啥使用 STATEMENT 后面细讲
binlog_format=STATEMENT
# 日志过期时间天数
expire_logs_days=7
log-error=/laday/mysql/log/err.log
# 是否开启慢查询日志收集, 1为启用, 0为禁用
slow_query_log=1
# 慢查询日志文件
slow_query_log_file=/laday/mysql/log/slow.log
# 记录慢查询超时时间, 秒
long_query_time=20
tmpdir=/laday/mysql_tmpdir# 开启 gtid, 自动寻找同步点
gtid_mode=ON
enforce_gtid_consistency=ON# 数据库同步白名单(库级)
binlog-do-db=laday# 数据库同步黑名单
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

从库

主要配置

# mysql 启动时是否忽略启动slave,  ON=mysql 启动后slave不会自动启动,需要手动启动。
skip_slave_start=ON
# 忽略同步过程出现所有错误,根据实际情况制定
slave-skip-errors=all
# 开启 gtid
gtid_mode=ON
enforce_gtid_consistency=ON# 同步表白名单 (表级)
replicate_wild_do_table=laday.table_1%
replicate_wild_do_table=laday.table_2%# 同步表黑名单
replicate_wild_ignore_table=laday.%
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
replicate_wild_ignore_table=sys.%

STATEMENT

binlog_format=STATEMENT

最开始是使用 ROW 的,但是后面发现从库同步任务一直卡,发现是主库使用了 DELETE 语句删除一个千万级的大表,导致从库是一行一行删除,也就卡si了。
在这里插入图片描述
后面换成:MIXED
还随手测试了一下 delete from 【表名】 看着正常。后面还是卡了, 原来主库有一个语句 delete from 【表名】 where … sysdate() … 删除大表,导致从库又卡了。罪魁祸首->sysdate

最终我决定使用: STATEMENT

binlog

有时候主从复制会有延迟的情况,可以通过 show slave status 查看此刻进度,包括 pos 和 file。

show slave status

在这里插入图片描述
然后带入 pos 和 file 在主库执行如下语句:
在这里插入图片描述
使用SQL查询看不出执行时间,可以使用 mysqlbinlog(在mysql 安装目录里面) 命令:

./bin/mysqlbinlog --start-datetime='2023-11-02 20:00:00' --stop-datetime='2023-11-02 23:00:00'  ./logbin/log_bin.000613 > /home/xyz/temp001.sql./bin/mysqlbinlog --start-position=314712945   --stop-position=315156780  ./logbin/log_bin.000973 > /home/xyz/temp002.sql

在这里插入图片描述

gtid

开启 gtid,方便从库自动寻找续点。
初始化如下:

CHANGE MASTER TO MASTER_HOST='10.111.xxx.xxx',MASTER_PORT=3308,MASTER_USER='账号', MASTER_PASSWORD='密码',master_auto_position=1;

也可以手动定义同步点,如下:

CHANGE MASTER TO MASTER_HOST='10.111.xxx.xxx',MASTER_PORT=3308,MASTER_USER='账号', MASTER_PASSWORD='密码',master_auto_position=0,
master_log_file='log_bin.000694',master_log_pos=194;

log-error

对于很多问题,错误日志会有很多信息提示,不要错过。

DistSQL

DistSQL(Distributed SQL)是 Apache ShardingSphere 特有的操作语言,读写分离用到,在此顺便记录一下。
常用语句:

-- 查询存储单元信息
SHOW STORAGE UNITS;-- 查询所有分片规则
SHOW SHARDING TABLE RULES FROM pddyjc;
-- 查询指定逻辑表的分片规则
SHOW SHARDING TABLE RULE  表 FROM  库;
-- 删除指定逻辑表的分片规则
DROP SHARDING TABLE RULE  表;-- 查询指定数据库中具有广播规则的表
SHOW BROADCAST TABLE RULES FROM  库;
-- 删除指定数据库中具有广播规则的表
DROP BROADCAST TABLE RULE  表  FROM 库;
-- 将 test_br 添加到广播规则中
CREATE BROADCAST TABLE RULE  test_br ;-- 设置单表默认存储单元
SET  DEFAULT single table storage unit = ds_0;-- 创建规则(分库)
-- test_a 以 sjsj 字段分库。
-- allow-range-query-with-inline-sharding=true , 支持 between 等区间关键字跨库查询。
CREATE SHARDING TABLE RULE test_a(
DATANODES("ds_${0..1}.test_a"),
DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=sjsj,
SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${ sjsj >='2023-10'?0:1 }","allow-range-query-with-inline-sharding"="true"))))
);-- 创建规则(分表)
-- testtable 以 zzbm 字段分表。
ALTER SHARDING TABLE RULE testtable(
DATANODES("ds_0.testtable_${['0501','0502','0503','0504','0505','0506','0507','0508','0509','0510','0511','0512','0513','0514','0515','0516','0522','0581']}"),
TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=zzbm,
SHARDING_ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="iamskh_ydkh_${ zzbm }"))))
);-- 同时有分库分表
-- 伪语法
CREATE SHARDING TABLE RULE t_order_item (
DATANODES("ds_${0..1}.t_order_item_${0..1}"),
DATABASE_STRATEGY(TYPE="standard",SHARDING_COLUMN=user_id,SHARDING_
ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="ds_${user_id % 2}
")))),
TABLE_STRATEGY(TYPE="standard",SHARDING_COLUMN=order_id,SHARDING_
ALGORITHM(TYPE(NAME="inline",PROPERTIES("algorithm-expression"="t_order_item_$
{order_id % 2}"))))
);-- 导出当前配置信息
EXPORT DATABASE CONFIGURATION;

总结

实践是检验真理的唯一标准


—————— 但行好事莫问前程,你若盛开蝴蝶自来

http://www.hrbkazy.com/news/33609.html

相关文章:

  • 怎样做网站外部样式制作app软件平台
  • wordpress手机怎么用站长工具seo综合查询
  • 静态网站什么样手机百度安装下载
  • 做华为网站的还有哪些功能吗知名品牌营销策划案例
  • 开网站怎么赚钱广东vs北京首钢
  • 苹果给第三方网站做图标百度提交入口的注意事项
  • 自己制作网站该怎么做市场推广计划方案
  • form e哪个网站做微信推广怎么做
  • 初学者做网站百度推广没有效果怎么办
  • 做暧暧暖网站欧美中国培训网官网
  • 网站开发及设计演讲海报百度推广怎么开户
  • 香港空间免费seo网络推广企业
  • 网站描文本网络app推广是什么工作
  • 如何建立单页网站培训心得体会500字
  • 管理网站建设源代码程序互动营销的案例及分析
  • 杭州网络公司建网站不要手贱搜这15个关键词
  • .net网站源码下载廊坊seo网站管理
  • 云网站开发网络营销就是
  • 济南润滑油网站制作网络营销推广策划方案
  • 怎么自己做网站空间官网seo是什么意思
  • 网站开发的母的目的和意义.网络营销师证
  • 网站建设旗舰品牌互联网最赚钱的行业
  • wordpress后台中文安装长沙seo全网营销
  • 推广网站设计推广方案怎样自己开发一款软件
  • 兰州网站制作成都微信广告推广价格表
  • 福建省幕墙建设网站要报备吗网店推广方法有哪些
  • 网页qq邮箱怎么改头像高端seo服务
  • 如何做链接淘宝客的网站吉林seo技术交流
  • 政府门户网站建设调查软文大全500篇
  • 网站备案万网被国家禁止访问的网站怎么打开