OneProxy分库分表的搭建
实验环境:前期准备的三个节点的环形复制master1:192.168.8.57master2:192.168.8.58master3:192.168.8.59oneproxy:192.168.8.631、下载oneproxy,地址:http://www.onexsoft.com/上传至192.168.8.63,解压到/usr/local2、修改文件描述符65535vi /etc/security/limits.confsoft nofile 65535hard nofile 6553...
MySQL环形复制
环境:CentOS6.5(三个),MySQL5.7.18master1:192.168.8.57master2:192.168.8.58master3:192.168.8.591、配置基本环境安装操作系统,安装MySQL数据库,关闭防火墙和selinux2、修改MySQL配置文件master1点击(此处)折叠或打开[root@master2 ~]# cat /etc/my.cnf [mys...
MySQL5.7集群搭建
今天抽出时间做一个测试,搭建一个最简单的MySQL Cluster。准备5个虚拟机,操作系统版本Redhat6.5,MySQL版本mysql-cluster-gpl-7.5.5-linux-glibc2.5-x86_64.tar(5.7)管理节点mgm192.168.8.220SQL节点1192.168.8.221SQL节点2 &nb...
双主复制配置
两台机器,系统版本CentOS6.5,主机名分别是master和slave,IP地址分别是192.168.8.57和192.168.8.581、分别在两个节点创建复制用户在主动节点:grant replication slave on *.* to 'repl'@'192.168.8.58' identified by 'mysql';在被动节点:grant replication slave on *.* to 'repl'@'192.168.8.57' identif...
show master/slave status
主库运行show master status可以看到当前二进制日志的信息,如:点击(此处)折叠或打开mysql> show master status \G*************************** 1. row *************************** &...
管理二进制日志
使用参数自动清除二进制日志 默认情况下,MySQL不会移除旧的不运行的二进制日志,expire_logs_days参数可以自动移除二进制日志,该参数默认值是0,意味着不会自动移除二进制日志。给该参数赋大于0的值将会移除那些大于这个值的日志,以天为单位。手动清除二进制日志清除特定文件点击(此处)折叠或打开...
XtraBackup全量备份与恢复
1、全量备份innobackupex --defaults-file=/etc/my.cnf --user=root --password=mysql /backup/xtrabackup备份成功后会提示:170920 17:55:25 Executing UNLOCK TABLES170920 17:55:25 All tables unlocked170920 17:55:25 [00] Copying ib_buffer_pool to /backup/xtrabackup/2017-09-20_17-53-54/ib_buffer_po...
XtraBackup的安装与介绍
1、安装需要的包yum -y install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool zlib-devel libgcrypt-devel libcurl-devel crypt* libgcrypt* \python-sphinx ...
MySQL逻辑备份之mysqldump使用
逻辑备份一般用于数据迁移或者数据量很小时,采用数据导出的方法。一、备份过程1、导出所有的数据库mysqldump -uroot -p -q --single-transaction -A > all.sql2、导出其中的test库mysqldump -uroot -p -q --single-transaction test >test.sql3、导出其中的test库的个别表mysqldump -uroot -p -q --single...
Query Cache在不同环境下的使用
Query Cache的功能就是缓存select语句的结果集。查询缓存会存储一个select查询的文本被传送到哭护端的相应结果。如果之后接到一个同样的查询,服务器会从查询缓存中检索结果,文不是再次分析和执行这个同样的查询。 查询缓存绝不反悔过期的数据,当数据被修改之后,查询缓存中的数据都会被清除,如果有些表不...
global_buffers优化
对于global_buffers,可以理解为Oracle的SGA,用于在内存中缓存从数据文件中检索出来的数据块,可以大大提高查询和更新数据的性能,主要包括以下几个参数组成。1、innodb_buffer_pool_size 这个参数是InnoDB存储引擎的核心参数,默认为128MB,这个参数注意设置为物力内存的60-70%。2、innodb_addditional_me...
per_thread_buffers优化
对于per_thread_buffers,可以理解为Oracle的PGA,为每个连接到MySQL的用户进程分配的内存,包括以下几个参数:1、read_buffer_size 该参数用于表的顺序描述,表示每个线程分配的缓冲区的大小。比如,在进行全表扫描时,MySQL会按照数据的存储顺序依次读取数据块,每次读取的数据块首先会暂存在per_thread_bu...
返回行数比例高不走索引
在MySQL中,查询返回的行数比例超过总行数20%,执行计划将不走索引,下边看一个例子,查询id大于1的信息。点击(此处)折叠或打开mysql> explain select * from test06 where id>1;+----+-------------+--------+------+---------------+------+---------+------+--------...
字符类型数据缺失引号索引被抑制
字符类型的数据没有使用引号,索引将被抑制,下边看一个案例: 查看表结构:点击(此处)折叠或打开mysql> show create table test06 \G*************************** 1. row *************************** Ta...
字段使用函数索引被抑制
在索引字段上使用函数,该字段的索引将会被抑制。如下案例:查看表结构:点击(此处)折叠或打开mysql> show create table test06 \G*************************** 1. row *************************** Table: tes...
limit分页优化
看一个案例点击(此处)折叠或打开mysql> select id from test06 order by id limit 2100000,10; +------+| id |+------+| 7037 || 7037 || 7037 || 7037 || 7037 |...
模式匹配like'%XXX%'优化
在MySQL里,like'XXX%可以用到索引,但like '%XXX%'却不行,比如,以下这个案例: 查看测试表行数:点击(此处)折叠或打开mysql> select count(*) from test03;+----------+| count(*) |+----------+| 117584 ...
MySQL定位慢SQL
慢日志带来的直接性能损耗就是数据库系统中最昂贵的I/O资源,开启慢查询记录带来的好处是可以通过分析慢SQL来优化SQL语句。 开启慢日志功能步骤如下:1)在my.cnf配置文件里加入以下参数:slow_query_log=1slow_query_log_file=/mysql/data/mysql.slowlong_query_time=2(超过2秒的SQL会记录下来)2)当...
InnoDB引擎和MyISAM引擎的对比
MyISAM支持全文索引,这是一种基于分词创建的索引,支持一些比较复杂的查询,但不是事务安全的,而且不支持外键。每张MyISAM表存在在3个文件中:frm文件存放表格定义;数据文件是MYD(MYData);索引文件是MYI(MYIndex)。对于MyISAM表,可以手工或者自送检查或者修复操作,这一点要注意跟InnoDB的事务恢复区分开来...
MySQL锁机制
MySQL的锁有以下几种形式:表级锁:开销小,加锁快,不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低。MyISAM引擎属于这种类型。行级所:开销大,加锁慢,会出现死锁,锁粒度最小,发生锁冲突的概率最低,并发度也最高。InnoDB引擎属于这种类型。页面锁:开销和加锁时间介于表锁和行锁之间,会出现死锁,锁...