自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

翻译 MySQL高可用工具Orchestrator系列四:拓扑恢复

文章目录前言拓扑恢复自动和手动要求什么是恢复恢复场景1:中间主库挂掉恢复场景2:主库挂掉自动恢复优雅的主库提升手动恢复手动,强制故障转移web,api,命令行阻塞,确认,防震荡添加提升规则停机时间(Downtime)recovery hooks原文:https://github.com/github/orchestrator/blob/master/docs/topology-recovery....

2019-12-02 11:45:12 1125

原创 MySQL主从复制错误——列类型转换错误

背景有客户咨询说,自己的从库show slave status出现了报错,报错信息显示如下:column 4 of table 'hh_db_mk.hh_vhl_application'cannot be converted from type 'datetime' to type 'varchar(20)'截图显示如下:得到的信息如下:从库停了两天,重启之后新建了这个表,然后...

2019-11-22 15:28:27 787

原创 MySQL乱码之客户端字符集

文章目录环境现象解决方法1方法2方法3疑问更进一步引申总结参考环境Red Hat Enterprise Linux Server release 7.4 (Maipo)MySQL 5.7.22现象查表的时候显示某个字段乱码# mysql -u -p -S /tmp/mysql.sockmysql> select * from my_a limit 1\G*********...

2019-05-16 11:47:12 6373

原创 MySQL Slave将relay-log-recovery设为0时的几种场景

文章目录环境模拟relay-log没有sync完全Retrieved_Gtid_Set < Executed_Gtid_SetRetrieved_Gtid_Set > Executed_Gtid_Set总结问题环境MySQL5.7.22GTID模式relay-log-recovery=0relay_log_purge=offsync_relay_log ...

2018-12-19 09:54:47 1141 2

原创 python html抓取多页数据,并用re解析(二)

#!/usr/bin/env python3#-*- coding: utf-8 -*-import urllib.requestimport re'''url = "http://search.jd.com/Search?keyword=%E5%B9%BC%E7%8C%AB%E7%8C%AB%E7%B2%AE&enc=utf-8#filter"print jd_sear...

2018-12-18 17:18:39 1700

原创 python html抓取,并用BeautifulSoup解析(一)

在文章《python html抓取,并用re正则表达式解析(一)》中,用的是re正则表达式提取相应的内容,本次引入BeautifulSoup进行提取。#coding=utf-8'''作业1:url :"http://money.163.com/special/pinglun/"抓取第一页的新闻信息,并按照以下规格输出。[ {'title':'生鲜电商为何难盈利?','crea...

2018-11-18 16:46:58 1125

原创 python html抓取,并用re正则表达式解析(二)

需求:url: “http://search.jd.com/Search?keyword=幼猫猫粮&enc=utf-8#filter”给出一个jd_search(keyword)方法,keyword为你要查找的东西,比如:猫粮、手机,替换上面url中的keyword,得到一个新网页。用正则表达式解析此网页,得到每个物品的图片、标题、价格、链接,组成一个字典,最后将所有物品的信息放在一个...

2018-11-17 14:00:20 1935

原创 python html抓取,并用re正则表达式解析(一)

html抓取,并用re进行解析#coding=utf-8import urllib.requestimport re'''url :"http://money.163.com/special/pinglun/"抓取第一页的新闻信息,并按照以下规格输出。[ {'title':'生鲜电商为何难盈利?','created_at':'2013-05-03 08:43','url':...

2018-11-16 22:29:39 11927

原创 MySQL8.0新特性之统计直方图

统计直方图概览什么是直方图如何创建和删除统计直方图数据库内部发生了什么查询案例Query 90Query 61为什么不用索引?检索统计直方图优化器trace统计直方图概览MySQL8.0实现了统计直方图。利用直方图,用户可以对一张表的一列做数据分布的统计,特别是针对没有索引的字段。这可以帮助查询优化器找到更优的执行计划。统计直方图的...

2018-07-03 11:09:20 928

原创 sed -i遇到的坑

sed -i会将软链接变成文件首先查看下grub.conf文件,是一个软链接,指向../boot/grub/grub.conf 使用sed -i修改下grub.conf中的内容 再查看grub.conf文件。发现grub.conf由软链接变成了文件。 问题当你想修改内核参数,将crashkernel=auto修改为crashkernel=512M,并添加elevator=deadline参数。如果...

2018-06-08 09:26:26 12275 1

原创 RC与RR隔离级别下MySQL不同的加锁解锁方式

RC与RR隔离级别下MySQL不同的加锁解锁方式RC隔离级别RR隔离级别半一致读semi-consistent read半一致读发生条件innodb_locks_unsafe_for_binlog一开始的例子RC隔离级别session 1session 2RR隔离级别session 1session 2引申:RR隔离级别,且开启innodb_locks_unsafe_for_binlog=ON参考...

2018-05-08 14:59:46 2974

原创 MySQL索引使用限制

MySQL索引使用限制不要在列上进行运算。 select * from users where YEAR(adddate)<2007; 将在每个行上进行运算,这将导致索引失效而进行全表扫描,因此我们可以改成select * from users where adddate<‘2007-01-01’;like语句操作 如果使用like。like “%aaa%” 不会使用索引而like “...

2018-02-11 16:40:26 731

原创 MySQL传统复制与GTID复制的原理阐述

MySQL复制MySQL异步复制架构中传统复制的原理阐述MySQL异步复制架构中GTID复制的原理阐述一、GTID的概述:二、GTID的组成部分:三、GTID如何产生四、GTID相关的变量五、GTID比传统复制的优势与限制:优势GTID的限制六、GTID的工作原理:MySQL复制MySQL异步复制架构中传统复制的原理阐述MySQL传统复制是基于MySQL二进制文件(mysql-bin.000001...

2018-02-11 16:37:55 1822

原创 MySQL GTID复制中主从重连如何校验GTID

MySQL GTID复制中主从重连如何校验GTIDMySQL GTID复制中主从重连如何校验GTID环境:MySQL5.7.18 多线程复制show master status先查看主库的Executed_Gtid_Setroot@localhost : (none) 01:37:02> show master status;+------------------+----------+--

2017-08-28 09:34:33 852

原创 MySQL5.7并行复制中并行的真正含义

MySQL5.7并行复制中并行的真正含义MySQL5.7并行复制初理解Commit-Parent-Based Scheme WL#6314Commit-Parent-Based Scheme简介Commit-Parent-Based Scheme的问题Lock-Based Scheme WL#7165Lock-Based Scheme简介Lock-B

2017-08-28 09:27:57 1405

原创 mysqldump大致原理以及mysqldump备份过程中进行DDL操作的影响

mysqldump大致原理以及mysqldump备份过程中进行DDL操作的影响mysqldump大致原理第一种情况第二种情况mysqldump大致原理以及mysqldump备份过程中进行DDL操作的影响MySQL版本:5.7.18 隔离级别:REPEATABLE-READ 如果隔离级别不是RR,启动事务快照读的时候会报错:root@localhost

2017-06-30 15:43:50 3540

原创 MySQL二阶段提交以及xtrabackup如何保证备份不丢失数据

MySQL二阶段提交与xtrabackup如何保证备份不丢失数据MySQL二阶段提交与crash recovery1. MySQL二阶段提交2. crash recovery的实现xtrabackup如何实现数据不丢失1. general log中xtrabackup的备份记录MySQL二阶段提交与xtrabackup如何保证备份不丢失数据

2017-06-16 13:47:31 1217

原创 MySQL Group Commit 组提交(BLGC)

MySQL 组提交prepare_commit_mutex锁Binary Log Group Commit(BLGC)MySQL 组提交prepare_commit_mutex锁MySQL5.6以前,为了保证数据库上层二进制日志的写入顺序和InnoDB层的事务提交顺序一致,MySQL数据库内部使用了prepare_commit_mutex锁。但是持有

2017-06-16 09:24:49 4504

原创 mysql.gtid_executed表的更新机制

mysql.gtid_executed表的更新机制环境mysql.gtid_executed在主库上更新机制1. 主库开启binlog2. 主库关闭binlogmysql.gtid_executed在备库上更新机制1. 备库关闭log_slave_updates1. 备库打开log_slave_updates总结参考资料mysql

2017-05-25 10:35:28 1835 1

原创 MySQL GTID空库复制搭建

MySQL GTID空库复制搭建环境1. 主备库开启gtid2. 备库上停掉之前的传统复制并清空信息3. 指定主库4. 备库重新连接MySQL GTID空库复制搭建环境主库:IP:192.168.1.21;版本:5.7.18备库:IP:192.168.1.128;版本:5.6.361. 主备库开启gtid#vim

2017-05-24 17:05:43 591

原创 传统复制常见错误及填坑方法

传统复制常见错误及填坑方法环境1、表不存在导致插入更新失败1.1、模拟复制错误产生1.1.1、生成测试表sbtest.test1.1.2、在备库上查看是否同步test表1.1.3、主库上往test表中插入数据1.1.4、查看备库复制情况1.2、复制错误跳过1.2.1、主库上查看event执行信息1.2.2、结合主备信息跳过错误1.2.3、手动补上数据

2017-05-24 17:04:44 1167

原创 mysql5.7.18备份恢复新建实例启动失败

mysql5.7.18新建实例启动失败mysql5.7.18新建实例启动失败报错信息[root@host-192-168-1-128 mysql5.7.18]# /home/program/mysql5.7.18/bin/mysqld_safe --defaults-file=/home/program/mysql5.7.18/my.cnf --user=mysql 2

2017-05-24 17:01:12 735

原创 mysqldump和xtrabackup两种方式进行非空库复制搭建

mysqldump和xtrabackup两种方式进行非空库复制搭建1、mysqldump非空库复制搭建2、xtrabackup非空库复制搭建mysqldump和xtrabackup两种方式进行非空库复制搭建1、mysqldump非空库复制搭建背景主库:IP:192.168.1.21;版本:5.7.18备库:IP:192.168.1.128;版本:5.

2017-05-18 17:32:00 822

原创 Mysql传统复制空库搭建过程中reset slave以及reset slave all对复制的影响

Mysql传统复制空库搭建过程中reset slave以及reset slave all对复制的影响主库信息从库信息操作过程主库上操作从库上操作主库上查看解决方法思路探讨参考资料Mysql传统复制空库搭建过程中reset slave以及reset slave all对复制的影响主库信息IP:192.168.1.21版本:5.7

2017-05-17 11:57:59 2656

原创 mysql5.7.18 ERROR 2027 (HY000): Malformed packet问题总括

ERROR 2027 (HY000): Malformed packet问题延伸:本地登录:mysql -uroot -p -S /usr/local/mysql5711/mysql.sockmysql版本:mysql> select version();+------------+| version()  |+------------+| 5.7.18-log |

2017-05-15 15:53:56 15018 3

原创 使用xtrbackup/mysqldump全量备份+binlog备份恢复到最近一个时间点

先用xtrabackup做全备:innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=123 /home/backup/xtrabackup/全备完成之后新建sanguoyanyi表,并插入数据:mysql> create table sanguoyanyi (    -> id in

2017-05-12 17:51:21 544

原创 mysql ERROR 2027 (HY000): Malformed packet

本地登录mysql:[root@host-192-168-1-21 mysql]# mysql -u root -S /usr/local/mysql5711/mysql.sock -pmysql> select * from hongloumeng;+------+------------+| id   | role       |+------+------------+

2017-05-11 15:32:37 8247

原创 利用XtraBackup做全量备份、增量备份、数据目录相同恢复、数据目录不同恢复、单表备份恢复

全量备份:innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=123 /home/backup/增量备份:(目录为前一次全量备份生成的目录)innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --passw

2017-05-10 17:56:16 728

原创 Centos6.6 安装mysql5.7

操作系统:[root@host-192-168-1-21 mysql]# cat /etc/issueCentOS release 6.6 (Final)Kernel \r on an \mmysql5.7安装包:选择tar包安装:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-

2017-05-10 13:59:11 831

原创 mysql 聚集函数以及是否忽略null值

mysql> show create table test;+-------+---------------------------------------------------------------------------------------+| Table | Create Table                                              

2017-04-17 19:25:48 6875

原创 mysql 中的时间 current_time,now(),sysdate()

mysql> select current_time,now(),sysdate(),sleep(3),current_time,now(),sysdate();+--------------+---------------------+---------------------+----------+--------------+---------------------+---------

2017-04-17 11:18:58 1632

原创 mysql 报错ERROR 1064 (42000),原因使用了mysql保留字

执行select语句:select * from cfg_parameter where key='nSJtifqVSI7HkPrKHlxhD6';ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version f

2017-04-17 11:07:31 188994

转载 mysql 主从权限问题

在用复制账号对mysql salve管理过程中,使用哪些权限合适?首先看一下mysql官方提供的权限表:权限列上下文CREATECreate_priv数据库、表或索引DROPDrop_priv数据库或表G

2017-04-14 11:43:56 10005

原创 mysql 5.5 任意用户不加密码均能登录解决方法

mysql版本5.5:在添加用户及赋予权限的过程中,发现用任意用户不需要添加任何密码均能登录,(而加了密码却不能登录),如:# mysql -u monitorshowsssaaaaaaaaaa Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 327Serv

2017-04-14 10:17:28 5377 2

转载 进程与线程

进程与线程进程计算机中已执行程序的实体。比如,一个启动了的php-fpm,就是一个进程。线程操作系统能够进行运算调度的最小单元。它被包含在进程之中,是进程的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。比如,mysql运行时,mysql启动后,该mysql服务就是一个进程,而mysql的连接、

2017-04-10 16:42:08 448

转载 Mysql order by排序原理 以及 filesort优化

MySQL中的ORDER BY有两种排序实现方式:1.利用有序索引获取有序数据          取出满足过滤条件作为排序条件的字段,以及可以直接定位到行数据的行指针信息,在 Sort Buffer 中进行实际的排序操作,然后利用排好序的数据根据行指针信息返回表中取得客户端请求的其他字段的数据,再返回给客户端.1.1 按照索引对结果进行排序:order by 使用索引是有条件1

2017-04-06 17:16:56 1272

转载 Redis调优之指定CPU(亲和力)以及软中断

指定CPU为什么这么做?由于redis是单进程服务,一个redis服务进程只会使用一个内核,所以在部署redis服务的时候最好对redis进程指定CPU。如何做?taskset是LINUX提供的一个命令,可以让某个程序运行在某个(或)某些CPU上。1)显示进程运行的CPU命令taskset -p 21184显示结果:pid 21184's current aff

2017-04-06 15:08:21 3259

转载 孤儿进程与僵尸进程

在Linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。       孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿

2017-04-06 11:15:51 319

原创 mysql innodb 独占表空间和共享表空间

mysql innodb 独立表空间和共享表空间mysql> show variables like 'innodb_file_per_table';+-----------------------+-------+| Variable_name         | Value |+-----------------------+-------+| innodb_file_pe

2017-02-24 11:17:49 622

转载 linux下cat命令详解

原文地址:http://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html简略版:cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename     只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件: $cat file1 fi

2017-02-21 14:43:41 372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除