酷客365
  • 首页
  • AI
  • 前端
  • 服务器
  • Java
  • PHP
  • 关于我
  • 首页
  • AI
  • 前端
  • 服务器
  • Java
  • PHP
  • 关于我
  1. 首页
  2. 标签
  3. MySQL
golang类似canal监听MySQL的binlog变更进行数据库多活部署

golang golang类似canal监听MySQL的binlog变更进行数据库多活部署

前言 假期在家学习技术,最近用一些小厂的VPS由于小厂不大稳定会做MySQL多活的配置,但是目前没有找到很好的工具做MySQL之间的同步的工作所以就做了这么一个小工具,上图是我引入的库,下面是一些关键代码 关键代码 package main import ( "database/sql" "fmt" "github.com/go-mysql-org/go-mysql/canal" "github.com/go-mysql-org/go-mysql/mysql" "github.com/go-mysql-org/go-mysql/replication" _ "github.com/go-sql-driver/mysql" // 导入 MySQL 驱动 "github.com/spf13/viper" "log" "os" "strings" "time" ) var g…

8次阅读 0个评论
golang 2025-05-04
制作一个包含PHP、MySQL、Redis、swoole、swoole_loader的docker镜像

docker 制作一个包含PHP、MySQL、Redis、swoole、swoole_loader的docker镜像

前言 近期需要部署一个PHP项目,但是项目中带有 swoole,不想在服务器安装swoole扩展,想做一个docker镜像,对服务器干净一些,不对当前环境造成影响,所以就有了这个小功能 文件 一共有4个文件和一个目录 目录 1 . ./data/www 说明 PHP文件存放目录 文件 ./data/nginx.conf NGINX 配置文件 ./swoole_loader.so swoole_loader 扩展文件 ./Dockerfile 镜像构建文件 ./docker-compose.yml docker编排文件 ./data/nginx.conf 文件内容 server { listen 80; server_name _; root /var/www/html; index index.php index.html index.htm; # URL重写配置 location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } try_files $uri $uri/ /ind…

8次阅读 0个评论
docker 2025-04-22
MySQL搭建主从同步

服务器 MySQL搭建主从同步

准备 主从数据库版本最好一致 主从数据库内数据保持一致 主数据库:192.168.1.31 /linux 从数据库:192.168.1.32 /linux 在主数据库上的操作 找到配置文件,并修改它,找到[mysqld] log-bin=mysql-bin #开启二进制日志 server-id=31 #设置server-id 重启MySQL,创建同步账号 先登录到主MySQL mysql -uroot -p123 创建同步账号,192.168.% 的意思是授权全部内网访问 mysql> CREATE USER 'repl'@'192.168.%' IDENTIFIED BY 'slavepass';#创建用户 mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.%';#分配权限 mysql>flush privileges; #刷新权限 查看master状态,记录二进制文件名(mysql-bin.000003…

169次阅读 0个评论
服务器 2021-06-30
MySQL查询每个表的大小

未分类 MySQL查询每个表的大小

SELECT TABLE_NAME, ROUND( sum( data_length + index_length )/ 1024 / 1024, 2 ) AS M FROM information_schema.TABLES WHERE TABLE_SCHEMA = "数据库名称" GROUP BY TABLE_NAME ORDER BY M DESC;

133次阅读 0个评论
未分类 2021-05-27
MySQL通过 binlog 恢复数据纪要

服务器 MySQL通过 binlog 恢复数据纪要

建议依赖 https://github.com/danfengcao/binlog2sql 这个库 命令 把binlog输出到文件 “ mysqlbinlog.exe –no-defaults –base64-output=DECODE-ROWS mysql-bin.000003 –database=test > d:\00003.txt ” 恢复方式 一:把binlog传入MySQL “ mysqlbinlog.exe –no-defaults mysql-bin.000001 –start-position=0 –stop-position=1715 –database=tset | mysql -uroot -proot ”  二:使用上面的这个库进行反向SQL “ python binlog2sql.py -uroot -h’127.0.0.1′ -proot -d’test’ –sql-type INSERT UPDATE –start-file=’mysql-bin.000003’&nbsp…

258次阅读 0个评论
服务器 2020-07-09
MySQL 批量 转换 数据库引擎

服务器 MySQL 批量 转换 数据库引擎

InnoBD 转 MyISAM SET @DATABASE_NAME = ‘数据库名称’; SELECT CONCAT(‘ALTER TABLE `’, table_name, ‘` ENGINE=MyISAM;’) AS sql_statements FROM information_schema.tables AS tb WHERE table_schema = @DATABASE_NAME AND `ENGINE` = ‘InnoDB’ AND `TABLE_TYPE` = ‘BASE TABLE’ ORDER BY table_name DESC; MyISAM 转 InnoBD SET @DATABASE_NAME = ‘数据库名称’; SELECT CONCAT(‘ALTER TABLE `’, table_name, ‘` ENGINE=InnoDB;’) AS sql_statements FROM information_schema.tables AS tb WHERE table_schema = @DATABASE_NAME AND `ENGINE` = ‘My…

213次阅读 0个评论
服务器 2020-05-14
MySQL 的 InnoDB 数据库的增量备份方案(1) – XtraBackup

服务器 MySQL 的 InnoDB 数据库的增量备份方案(1) – XtraBackup

原因: 原来每天都做数据备份,一般都是用的全量备份,现在数据库太大,全量非常影响性能,所以在网上找了一些办法,就找到了  XtraBackup 这个工具 前提: MySQL数据库,InnoDB 引擎 使用: 增量备份: [root@master backups]# innobackupex –user=root –password=123456 –host=127.0.0.1 /backups/ #全备数据 [root@master ~]# mysql -uroot -p  #在master上创建student库并创建testtb表插入若干数据 Enter password: mysql> create database student; Query OK, 1 row affected (0.03 sec) mysql> use student; Database changed mysql> create table testtb(id int); Query OK, 0 rows affected (0.07 sec) mysql&gt…

292次阅读 0个评论
服务器 2020-03-30
MySQL 清理二进制日志和限制保留天数

服务器 MySQL 清理二进制日志和限制保留天数

自动清理 动态设置 在终端中执行查询,查到当前二进制日志超时。 默认为0,表示永不超时 mysql> show variables like ‘%expire_logs_days%’; +——————+——-+ | Variable_name    | Value | +——————+——-+ | expire_logs_days | 0    | +——————+——-+ 1 row in set (0.00 sec) 通过以下命令设置保留14天 set global expire_logs_days = 14; 当mysql切换日志时自动触发。 可以通过命令 flush logs; 手动触发。(不建议手动触发) 配置文件 运行时设置在重启后无效,为保证重启后有效,需要设置配置文件。 /etc/my.cnf [mysqld] expire_log…

265次阅读 0个评论
服务器 2020-01-19
MySQL 占用 CPU过高 解决记录

服务器 MySQL 占用 CPU过高 解决记录

首先使用 top 命令查看谁在占用 CPU 确认是MySQL 后 在 shell 执行 mysql -u root -p 输入MySQL 密码  然后 输入 show full processlist;  命令查看 正在执行的语句。 找到执行慢的语句,拿回本地 通过 EXPLAIN 命令 进行分析 , 比如:EXPLAIN SELECT id,title FROM xxxxx 然后有针对性的进行优化即可

200次阅读 0个评论
服务器 2019-12-13
MySQL 查询出所有重复的记录

服务器 MySQL 查询出所有重复的记录

假如我们有如下一张数据表(很简单,只是举例而已),表名为student。现在我们要取出其中重复记录。重复是以name相同为判定标准。   ID name phone age 1 张三 10086 15 2 李四 10010 20 3 王五 10010 22 4 赵六 10010 22 5 孙七 10010 22       查找出所有的重复数据 SELECT * FROM student WHERE phone IN (SELECT shortname FROM student GROUP BY phone HAVING COUNT(phone)>1)   查看重复数据的条数 SELECT phone,COUNT(*) FROM student GROUP BY phone HAVING COUNT(*) > 1          

261次阅读 0个评论
服务器 2019-12-06
Quartz MySQL Specified key was too long; max key length is 767 bytes

未分类 Quartz MySQL Specified key was too long; max key length is 767 bytes

昨天使用定时任务框架Quartz,建表时数据库报错,在此记录一下,通常情况下为了方便兼容emoji表情,MySQL建库时一般使用的是utf8mb4,这样在Quartz建表时报 “Index column size too large. The maximum column size is 767 bytes.”,大概的意思索引太大了。经过一番百度,bing,Google后找到一些解决办法 比如:     修改MySQL配置 innodb_large_prefix = 1 重启MySQL后没效果 估计是MySQL版本不一致的问题,最后没办法,尝试把库删掉,重新建,改成utf8的,问题解决。

500次阅读 0个评论
未分类 2019-10-22
explain – Mysql查询优化器的使用

服务器 explain – Mysql查询优化器的使用

249次阅读 0个评论
服务器 2018-12-06
PHP,Mysql根据经纬度计算距离并排序

PHP PHP,Mysql根据经纬度计算距离并排序

网上给出的计算公式是这样的:   Lng1表示A点纬度和经度,Lat2 Lng2 表示B点纬度和经度 a = Lat1 – Lat2为两点纬度之差 b = Lng1 -Lng2 为两点经度之差 6378.137为地球半径,单位为公里 计算出来的结果单位为公里 11 select *,(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(111.86141967773438-lng)/360),2)+COS(PI()*33.07078170776367/180)* COS(lat * PI()/180)*POW(SIN(PI()*(33.07078170776367-lat)/360),2)))) as juli from `area` order by juli asc limit 0,20

525次阅读 0个评论
PHP 2018-11-02
Eric chan  QQ:80148096 微信:heise2012
Eric chan QQ:80148096 微信:heise2012
99年开始上网 01年开始搞《江湖》 04年学PHP 07年学C# 08年毕业后从事IT相关工作 工作期间接触各种语言服务器等,目前属于自由工作者。 目前后台主要使用的语言是PHP、GO、Java 前端包括混合APP技术(uniapp、apicloud)都有开发过。 使用PHP自行开发了一套基础商城框架。
阅读量
114791
评论数
0
标签
3desAndroidbinlogcanalcentosChatGPTcicomposercosDeepSeekdockerdocker swarmdocker-composeDockerfiledronedtueasyswooleelectronelementUIESModule
一言一句话
-「」
热门文章
VMware15 安装 mac OS 10.15 调整分辨率

VMware15 安装 mac OS 10.15 调整分辨率

在Mac虚拟机里的终端执行下面的命令,执行完之后重启即可 1920*1080分辨率: sudo...
Quartz MySQL Specified key was too long; max key length is 767 bytes

Quartz MySQL Specified key was too long; max key length is 767 bytes

昨天使用定时任务框架Quartz,建表时数据库报错,在此记录一下,通常情况下为了方便兼容emoji表...
阿里小号突然不能开机了阿里小号客服电话

阿里小号突然不能开机了阿里小号客服电话

阿里小号突然不能开机了,找不到他们的客服,搜索了半天 才找到的,在这里记录一下 10029...
VMware 安装 Mac os时必要操作

VMware 安装 Mac os时必要操作

解锁工具Unlocker ,对 VMware进行解锁 在 *.vmx...
WordPress出现Briefly unavailable for scheduled maintenance. Check back in a minute. 的解决方法

WordPress出现Briefly unavailable for scheduled maintenance. Check back in a minute. 的解决方法

今天刚好博客升级提示一个错误,在这里记录一下 解决方法:...
猜你喜欢
golang 适配器模式 简单示例记录

golang 适配器模式 简单示例记录

package main import ( "fmt" ) // Target...
golang类似canal监听MySQL的binlog变更进行数据库多活部署

golang类似canal监听MySQL的binlog变更进行数据库多活部署

前言...
微信小程序多组件之间 css 用 deep 不生效的一些处理办法

微信小程序多组件之间 css 用 deep 不生效的一些处理办法

直接上代码了,vue3 setup 模式下 需要额外写一个script...
WordPress一次表单设置导致的报错,此表单不安全,因此,系统已关闭自动填充功能

WordPress一次表单设置导致的报错,此表单不安全,因此,系统已关闭自动填充功能

前言 最近一直在做WordPress相关的站点,突然某个站点提示...
制作一个包含PHP、MySQL、Redis、swoole、swoole_loader的docker镜像

制作一个包含PHP、MySQL、Redis、swoole、swoole_loader的docker镜像

前言 近期需要部署一个PHP项目,但是项目中带有...
关于我们

个人学习文章收集

版权说明

本站部分资源和文章来自于网络收集,若侵犯了你的隐私或版权,请及时联系我们删除有关信息。

Copyright @2025 酷客365 网站地图 琼ICP备15003184号-3
 Theme by Puock