mysql
Happywzy~
这个作者很懒,什么都没留下…
展开
-
使用canal监听mysql数据变化
canal介绍canal是阿里开源的数据库同步框架,采用非侵入式方式,解析mysql的binary log,再发送到目的地,目的地可是mq,hbase,mysql,es等.本章流程开启mysql的bin-log日志创建mysql用户获取bin-log日志canal采集bin-log日志canal-client获取mysql变化信息开启bin-log日志只需要在mysqld.cnf新增配置server-id=1log-bin=mysql-bin创建mysql用户create us原创 2021-06-11 10:38:22 · 1716 阅读 · 3 评论 -
mysql定时删除数据
查看mysql是否开启定时任务mysql> show variables like '%scheduler%';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| event_scheduler | OFF |+-----------------+-------+1 row in set开启mysql定时任务-- 临时开启SET GLOBAL event_sche原创 2020-10-28 09:52:15 · 1021 阅读 · 0 评论 -
MYSQL密码安全策略
密码复杂度校验MySQL5.6.6版本之后增加了密码强度验证插件validate_password.-- 查看插件是否安装mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'validate_password';+-------------------+---------------+| PLUGIN_NAME | PLUGIN_STAT原创 2020-08-20 14:55:35 · 795 阅读 · 0 评论 -
mysql【主从同步工具percona-toolkit安装使用】
percona-toolkit介绍percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括:检查master和slave数据的一致性有效地对记录进行归档查找重复的索引对服务器信息进行汇总分析来自日志和tcpdump的查询当系统出问题的时候收集重要的系统信息percona-toolkit工具中最主要的三个组件分别是:pt-table-checksum 负责监测mysql主从数据一致性pt-table-sync原创 2020-08-06 10:06:46 · 482 阅读 · 0 评论 -
mysql【主从同步工具Maatkit安装使用】
问题说明mysql主从同步时难免出现问题导致数据不一致情况.此时需要手动将主从数据同步.Maatkit是一个开源的工具包,为mySQL日常管理提供了帮助,它包含很多工具,这里主要说下面两个:mk-table-checksum : 用来检测master和slave上的表结构和数据是否一致的;mk-table-sync : 在主从数据不一致时,用来修复数据的;先主后从有效保证表一致的工具,不必重载从表而能够保证一致。上面两个perl脚本在运行时都会锁表,表的大小取决于执行的快慢,勿在高峰期间运行原创 2020-08-06 10:06:04 · 1065 阅读 · 1 评论 -
mysql【监控指标采集mysqld-exporter】
说明prometheus监控插件mysqld_exporter可以采集mysql指标并告警展示.步骤本文使用docker部署的方式创建用户并授权CREATE USER 'exporter'@'%' IDENTIFIED BY '123456';GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'%';GRANT SELECT ON performance_schema.* TO 'exporter'@'%';运行mysqld原创 2020-08-05 14:59:20 · 2831 阅读 · 0 评论 -
mysql【半同步复制模式】
复制模式MySQL主从复制包括异步模式、半同步模式、GTID模式以及多源复制模式,默认是异步模式.异步复制(Asynchronous replication)所谓异步模式指的是MySQL 主服务器上I/O thread 线程将二进制日志写入binlog文件之后就返回客户端结果,不会考虑二进制日志是否完整传输到从服务器以及是否完整存放到从服务器上的relay log(中继日志)中,这种模式一旦主服务(器)宕机,数据就可能会发生丢失。全同步复制(Fully synchronous replicat原创 2020-08-03 18:03:35 · 430 阅读 · 0 评论 -
mysql【主从复制模式,且从节点只读】
问题双主之间复制如果网络中断或者其它原因导致不可用,此时在不同主上修改了同一条数据,就会存在数据不一致的情况。解决办法过滤到已知错误#slave-skip-errors=all # 忽略复制产生的错误#slave-skip-errors=1062,1032,1060 # 跳过已知错误,主键冲突、表已存在等错误代码如1062,1032,1060等但是这样数据不一致的问题还是存在.不用双主模式,改成主从模式,且从节点只能读不能写关闭双向复制,设置单向复制,一主一从# 从节点设置不能写原创 2020-08-03 18:03:06 · 812 阅读 · 0 评论 -
mysql复制出现问题【GTID模式】
非GTID模式下当BIN-LOG里面出现错误导致主从不能同步的时候,-- 错误状态的部分截图mysql> show slave status\G*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.41.141原创 2020-08-03 18:02:23 · 407 阅读 · 0 评论 -
mysql【双主模式+haproxy+keepalived高可用】
说明前文仅仅通过mysql双主 + keepalived实现高可用,这种方式在一台出现问题的时候可以切换,但是正常情况下只有一台服务使用,无法实现负载均衡,本文引入haproxy实现正常情况下也能有负载均衡的效果.配置安装haproxyyum install haproxy修改haproxy配置文件默认目录:/etc/haproxy/haproxy.cfg#----------------------------------------------------------------原创 2020-07-28 17:26:05 · 584 阅读 · 0 评论 -
mysql【双主模式+keepalived高可用】
说明mysql双主模式下,在任意一台mysql上写数据都会同步到另一台上,本章通过keepalived VIP实现如果一台服务挂了会自动切换到另一台mysql上.配置# 安装keepalived,centos默认安装了yum install keepalived -y修改双主机/etc/keepalived/keepalived.conf配置.global_defs { router_id mysql}vrrp_script chk_mysql { script "kill原创 2020-07-28 17:25:08 · 417 阅读 · 0 评论 -
mysql【双主模式配置】
前提准备主机系统IPmysqlmysql01centos7192.168.41.141已部署5.7.31mysql02centod7192.168.41.142已部署5.7.31原理MySQL中有一种日志叫做 bin日志(二进制日志),这个日志会记录下所有修改了数据库的SQL语句。主从复制的原理其实就是从服务器向主服务器请求这个日志文件,主服务器会把这个 bin日志复制到从服务器上执行一遍,这样从服务器上的数据就和主服务器上的数据相同了。[外链图片转存失原创 2020-07-28 17:24:30 · 689 阅读 · 0 评论 -
mysql部署【用rpm方式】
部署说明Linux上安装软件常见的几种方式:源码编译压缩包解压(一般为tar.gz)编译好的安装包(RPM、DPKG等)在线安装(YUM、APT等)部署方式简单程度:YUM > RPM > tar.gz > 源码,本文介绍RPM方式.部署步骤删除旧包# 查找rpm -qa | grep -i mysql# 删除rpm -ev mysql-libs-* --nodeps下载RPM包mysql-5.7.31-1.el7.x86_64.rpm-bundl原创 2020-07-28 17:23:04 · 472 阅读 · 0 评论 -
mysql部署【用tar.gz方式】
部署说明Linux上安装软件常见的几种方式:源码编译压缩包解压(一般为tar.gz)编译好的安装包(RPM、DPKG等)在线安装(YUM、APT等)部署方式简单程度:YUM > RPM > tar.gz > 源码,本文介绍tar.gz方式.部署步骤卸载已有# 通过rpm方式安装的rpm -qa|grep mysql# 如果有, 卸载rpm -e --nodeps xxx# 查找mysql文件夹whereis mysqlfind / -name m原创 2020-07-28 17:22:22 · 661 阅读 · 0 评论 -
mysql最大连接数
查看show variables like '%max_connections%';数值过小会经常出现ERROR 1040: Too many connections错误show global status like 'Max_used_connections';-- Threads_connected: 打开的连接数,Threads_running:激活的 正在使用的连接数show status like 'Threads%';-- 查看最大缓存的连接数量,可以适当增加show v原创 2020-07-21 09:18:10 · 312 阅读 · 1 评论 -
mysql模糊查询的几种方式
like-- 没有用到索引select * from t_user where user_name like '%test%';-- 用到索引但是不通用select * from t_user where user_name like 'test%';locate-- LOCATE('substr',str,pos)-- pos不填:返回substr在str中第一次出现的位置,如果不存在,返回值为0-- pos存在:返回pos之后第一次出现的位置select * from t_user原创 2020-06-18 15:20:42 · 476 阅读 · 0 评论 -
数据库查询结果为空定义默认值
使用MyBatis查询 返回类型为int,但是当查询结果为空NULL,报异常的解决方法如select pre_id from task_child where parent_id=3 order by pre_id desc limit 1;如果查询结果是空,那么后台可能报异常Servlet.service() for servlet [springDispatcherServlet] in context with path [/xxxx] threw exception [Request .原创 2020-05-12 17:14:42 · 1596 阅读 · 0 评论 -
mysql查询
多条件模糊查询select * from t_log where (LOCATE('wu', user_name) > 0 or LOCATE('wu', params ) > 0)and (method='POST' or method='GET');查询id在列表中的所有结果select * from t_user where tenant_id in (1,2,3...原创 2019-12-17 12:01:30 · 226 阅读 · 0 评论