随笔分类 - MySQL
摘要:现有环境: A->B 主库A,B库是A库的从库。 解决办法: 在B库上stop slave,关闭MySQL,然后把数据文件拷贝到C主机上,C主机的数据库不用change master命令生成从库,C主机数据库起起来后就是A主库的从库。
阅读全文
posted @ 2018-08-01 13:43
屠魔的少年
摘要:起因 非root用户运行MySQL,当MySQL配置比较高时,MySQL运行中生效的参数值与配置的值不一样。 这篇文章的目的是为了说明在系统资源不够的情况下,MySQL 是怎么调整以下三个参数的: open_files_limit、 max_connections、 table_open_cache
阅读全文
posted @ 2018-08-01 13:42
屠魔的少年
摘要:基本环境 Master1 Master2 Slave MySQL版本 MySQL-5.7.16-X86_64 MySQL-5.7.16-X86_64 MySQL-5.7.16-X86_64 IP 192.168.56.156 192.168.56.156 192.168.56.157 Port 33
阅读全文
posted @ 2018-08-01 13:40
屠魔的少年
摘要:数据库环境的部署: 两边安装好相同的数据库软件,初始化,可以启动起来。 检查事项: 两边防火墙是否开启,对应的端口号是否通(可以通过telnet的方式,或者远程登录的方式验证) 主库创建复制账号: create user 'repl'@'192.168.56.%' identified by 'or
阅读全文
posted @ 2018-08-01 13:39
屠魔的少年
摘要:检查事项: 两边防火墙是否开启,对应的端口号是否通(可以通过telnet的方式,或者远程登录的方式验证) 主库配置: 开启 log_bin 、server_id、log_slave_updates 参数。 另外需要注意的是: binlog_format 控制二进制文件格式,生成环境建议使用row格式
阅读全文
posted @ 2018-08-01 13:38
屠魔的少年
摘要:MySQL的复制分为三种: 第一种,即普通的replication。 搭建简单,使用非常广泛,从mysql诞生之初,就产生了这种架构,性能非常好,可谓非常成熟。 但是这种架构数据是异步的,所以有丢失数据库的风险。 第二种,即mysql cluster。 搭建也简单,本身也比较稳定,是mysql里面对
阅读全文
posted @ 2018-08-01 13:37
屠魔的少年
摘要:GTID介绍 从MySQL 5.6.5开始支持GTID,每一个在主库上提交的事务在复制集群中可以生成一个唯一的ID。 一个GTID在一个服务器上只执行一次,避免重复执行导致主从不一致或者数据混乱。 在MySQL 5.6.x中,如果使用GTID复制,则从库必须使用系统变量 log_bin 来启用二进制
阅读全文
posted @ 2018-08-01 13:34
屠魔的少年
摘要:对一个运行很久的库做备份恢复建同步 不能使用xtrabackup 使用mysqldump导数据: mysqldump -S /data/mysql/3307/tmp/3307.sock --single-transaction --master-data=2 --databases lgj3307
阅读全文
posted @ 2018-08-01 13:33
屠魔的少年
摘要:MySQL数据库的成功离不开其replicaiton,相对于Oracle DG和Microsoft SQL Server Log Shipping来说,其简单易上手,基本上1,2分钟内根据手册就能完成环境的搭建。然而,随着使用的深入,replication自身的问题会慢慢显露,其中非crash sa
阅读全文
posted @ 2018-08-01 12:03
屠魔的少年
摘要:本文将介绍使用物理备份恢复Innodb单表数据的方法 前言: 随着innodb的普及,innobackup也成为了主流备份方式。物理备份对于新建slave,全库恢复的需求都能从容应对。 但当面临单表数据误删,或者单表误drop的情况,如果使用物理全备进行恢复呢? 下文将进行详细分析。 恢复过程中需要
阅读全文
posted @ 2018-08-01 11:58
屠魔的少年
摘要:恢复一个库的方法一: [root@testdb1 ~]# grep -nr '^CREATE DATABASE' all_bak.sql 22:CREATE DATABASE /*!32312 IF NOT EXISTS*/ `testdb` /*!40100 DEFAULT CHARACTER S
阅读全文
posted @ 2018-08-01 11:55
屠魔的少年
摘要:[mysql@db2 ~]$ mysqldump -A --master-data=2 > master2.sql [mysql@db2 ~]$ mysqldump -A --dump-slave=2 > slave2.sql [mysql@db2 ~]$ mysqldump -A --master
阅读全文
posted @ 2018-08-01 11:53
屠魔的少年
摘要:mysqldump的常见用法1.全库备份mysqldump --all-databases --master-data=2 --single-transaction --triggers --routines .-events >all databases.sql 注意,--master-data=
阅读全文
posted @ 2018-08-01 11:51
屠魔的少年
摘要:mysqlbinlog --no-defaults --base64-output=decode-rows -v -v mysql-bin.000002 |awk '/###/{if($0~/UPDATE|INSERT|DELETE/)count[$2" "$NF]++}END{for(i in c
阅读全文
posted @ 2018-08-01 11:50
屠魔的少年
摘要:mysqldump的备份原理 mysqldump在备份过程中,是采用查询备份相关表的数据,然后导出,拼接成insert语句的形式进行备份。 关于--single-transaction 和--lock-tables --single-transaction选项和--lock-tables选项是互斥的
阅读全文
posted @ 2018-08-01 11:50
屠魔的少年
摘要:查看所有binlog日志列表 mysql> show binary logs; mysql> show master logs; mysql> show binlog events in 'testdb-bin.000003'; + + + + + + + | Log_name | Pos | Ev
阅读全文
posted @ 2018-08-01 11:49
屠魔的少年
摘要:常用参数:--start-datetime=datetime 从二进制日志中第1个日期时间等于或晚于datetime参量的事件开始读取。datetime值相对于运行mysqlbinlog的机器上的本地时区。该值格式应符合DATETIME或TIMESTAMP数据类型。--stop-datetime=d
阅读全文
posted @ 2018-08-01 11:48
屠魔的少年
摘要:mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]; 选项解析: IN 'log_name' 指定要查询的binlog文件名(不指定就是第一个binlog文件) FROM pos 指定从哪个
阅读全文
posted @ 2018-08-01 11:48
屠魔的少年
摘要:一:什么是字符集 字符集支持多层面:服务器层(server)、数据库层(database)、数据表(table)、字段(column)、连接(connect)、结果集(result)。 1.字符集是一套符号和编码规则,字符串必须有相应的字符集。 2.校验集是这套符号和编码的校验规则,定义字符排序规则
阅读全文
posted @ 2018-08-01 11:38
屠魔的少年
摘要:create user 'test'@'%' identified by 'a1'; create user 'test'@'192.168.56.%' identified by 'a2'; create user 'test'@'192.168.56.156' identified by 'a3
阅读全文
posted @ 2018-08-01 11:35
屠魔的少年