-
MySQL ORDER BY 的实现解析
所属栏目:[MySql教程] 日期:2022-03-29 热度:100
总的来说,在 MySQL 中的ORDER BY有两种排序实现方式,一种是利用有序索引获取有序数据,另一种则是通过相应的排序算法,将取得的数据在内存中进行排序。 下面将通过实例分析两种排序实现方式及实现图解: 假设有 Table A 和 B 两个表结构分别如下: [@more@[详细]
-
MYSQL学习系列--DDL语言
所属栏目:[MySql教程] 日期:2022-03-29 热度:139
DDL语句: 对数据库内部的对象进行创建、删除、修改等操作的语言,DDL语句更多的是由数据库管理员(DBA)使用,开发人员一般很少使用登录mysql之后就可以使用sql语句对数据库进行各种操作啦! 实践操作: 在基础操作之前,如果没有安装mysql的可以参考我之前写[详细]
-
MySQL垂直拆分和水平拆分的优缺点和共同点归纳
所属栏目:[MySql教程] 日期:2022-03-29 热度:62
数据的拆分(Sharding)根据其拆分分规则的类型,可以分为两种拆分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)拆分; 另外一种则是根据表中的数据的逻辑关系,将同一个表中的数据按照某种[详细]
-
MySQL运用bin-log异库恢复到指定时间点
所属栏目:[MySql教程] 日期:2022-03-29 热度:192
MySQL使用bin-log异库恢复到指定时间点: 1、搭建初始化数据库 2、确定日志的位置position 3、备份数据库T0 4、模拟数据库发生变化T1 5、模拟数据库发生变化T2 6、恢复数据库到备份时间点T0 7、模拟数据库恢复到时间点T1 8、模拟数据库恢复到时间点T2 1、安[详细]
-
MySQL定期自动删掉表
所属栏目:[MySql教程] 日期:2022-03-29 热度:160
单位8亿多条的日志表,经过自动分表之后,需要自动删除30天前创建的日志表。 但是只是在Master下线这些日志表,而Slave还需要保持在线,以备查询。 由于Master-Slave结构,在Drop表之前,设置@@session.sql_log_bin=0,那么Drop的行为就没有记录到binlog,所[详细]
-
Mysql在windows上安装后卸载重新安置需要root用户密码
所属栏目:[MySql教程] 日期:2022-03-29 热度:117
今天准备继续学习Mysql,把当前windows上的Mysql环境给卸载了重装,在安装的过程中一直报需要current root password,一直不知道咋回事,下面是解决办法。 1.清除MYSQL的安装目录,默认是C:Program Files (x86) 2.清除MYSQL数据存放目录,我的机器上在C:Pro[详细]
-
从源码分析ERROR 1129 HY000
所属栏目:[MySql教程] 日期:2022-03-29 热度:157
原创水平有限,有错请指出 今天群里一个朋友出现如下错误: ERROR 1129 (HY000): Host 10.0.0.8 is blocked because of many connection errors; unblock with mysqladmin flush-hosts 为了找到这个问题原因,首先在源码中找到错误码 点击(此处)折叠或打开 {[详细]
-
mysql5.6提升至5.7
所属栏目:[MySql教程] 日期:2022-03-29 热度:177
本文的升级方式为物理升级: 直接替换掉mysql的安装目录和修改my.cnf,利用mysql_upgrade来完成系统表的升级,这种方法需要备份原有的文件,属于物理拷贝,速度较快。缺点的话,跨版本升级不推荐这么做,比如mysql5.1升级到mysql5.6,mysql5.5升级到mysql5.7[详细]
-
MySQL查找报错 ERROR 1146 42S02
所属栏目:[MySql教程] 日期:2022-03-29 热度:98
今天一同事咨询mysql的问题,在mysql主库访问某个表报错, 但是备库上可以,感觉有点奇怪。即使不同步, 也不能说主库不能访问[详细]
-
入门MySQL—备份与复原
所属栏目:[MySql教程] 日期:2022-03-29 热度:77
本篇文章将主要讲解 MySQL 数据库数据备份与恢复相关知识,主要聚焦于逻辑备份,介绍mysqldump工具的使用以及恢复方法。 这里简单讲下物理备份和逻辑备份的概念: 物理备份:备份数据文件,转储数据库物理文件到某一目录。物理备份恢复速度比较快,但占用空[详细]
-
Last_IO_Error Fatal error原因及处理
所属栏目:[MySql教程] 日期:2022-03-29 热度:189
最近在虚拟机上部署MySQL主从复制架构的时候,碰到了 Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. 这个错误提示。 即主从架[详细]
-
设定密码复杂度
所属栏目:[MySql教程] 日期:2022-03-29 热度:133
设置密码复杂度: 1,密码验证插件安装 要使服务器可以使用,插件库文件必须位于MySQL插件目录( plugin_dir 系统变量指定的目录)中。插件库文件基本名是 validate_password.so 。 show variables like %plugin%; 在运行时注册插件,请使用此语句 INSTALL P[详细]
-
为什么不倡议在 MySQL 中使用 UTF-8?
所属栏目:[MySql教程] 日期:2022-03-29 热度:182
最近我遇到了一个bug,我试着通过Rails在以utf8编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value: for column summary at row 1 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字[详细]
-
分享一个批量产生随机测试数据的MySQL存储步骤
所属栏目:[MySql教程] 日期:2022-03-29 热度:165
批量产生随机测试数据: 内容如下: # cat populate.sql DELIMITER $$ DROP PROCEDURE IF EXISTS populate $$ CREATE PROCEDURE populate(in_db varchar(50), in_table varchar(50), in_rows int, in_debug char(1)) BEGIN | USAGE: call populate(DATABASE-[详细]
-
MySQL源码安置
所属栏目:[MySql教程] 日期:2022-03-29 热度:163
MySQL源码安置: 1,下载源码安装包 5.5后版本需用cmake编译 mysql-5.7 需要 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/data/boost_1_59_0 yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-dev[详细]
-
Mysql运用mysql_multi配置一台主机多个实例
所属栏目:[MySql教程] 日期:2022-03-29 热度:65
在Mysql官方帮助文档中,详细记录中Mysql的启动方式,有mysqld_safe、mysql.server、mysql_multi这三种。关于mysql_multi的介绍: Mysqld_multi可以管理多个帧听不同Unix套接字文件和TCP/IP端口的连接的mysqld 进程。它可以启动或停止服务器,或报告它们的当[详细]
-
MySQL Online DDL的实现细节介绍
所属栏目:[MySql教程] 日期:2022-03-29 热度:82
MySQL Online DDL的实现细节共分为三个阶段: Prepare阶段 1.创建临时frm文件 2.持有EXCLUSIVE-MDL锁,禁止读写 3.根据ALTER类型,确定执行方式(copy,online-rebuild,online-norebuild) 4.更新数据字典的内存对象 5.分配row_log对象记录增量 6.生成临时ibd文[详细]
-
mysql repair with keycache 的一个处置
所属栏目:[MySql教程] 日期:2022-03-28 热度:73
今天一个朋友让我帮他处理以下1张3.78亿数据的表,需要导出2010年的数据到另外1张表,我查了下2010年的数据就有1.8,然后我修改了一下my.cnf的部分参数:[@more@] myisam_sort_buffer_size = 1024M tmp_table_size = 256M tmpdir = /back1/dzy_bak myisam_ma[详细]
-
InnoDB行溢出数据解说
所属栏目:[MySql教程] 日期:2022-03-28 热度:113
先说下MySQL数据库的varchar字段,真的很实用,它可以存放65536字节的数据,比oracle和sqlserver大多了,但是在使用varchar时也有几点要注意; 1、65536只是这么说,要建表的时候指定一个字段65536仍然会报错,因为字段本身还有其他开销,实际只能存放65532[详细]
-
Mysql二进制包设置
所属栏目:[MySql教程] 日期:2022-03-28 热度:66
安装环境 OS:RHEL 6.5_X64 Mysql:mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz 1、确认是否已经安装了依赖包 [root@dbrac16 ~]# yum info libaio | grep -A 1 Installed This system is not registered to Red Hat Subscription Management. You can use su[详细]
-
把not in 更换成not exists后的优化
所属栏目:[MySql教程] 日期:2022-03-28 热度:165
把not in 改成not exists后的优化 近期,OA数据库里面存在一条慢SQL,其执行时间为3分16秒。这条慢SQL语句每个月可能会运行几次,但其运行后,总会导致数据库CPU利用率飙升。然后我就对这个慢SQL语句进行了改写测试,改写后的运行时间降为13s(虽然还是很慢[详细]
-
MySQL 5.1.73升级为MySQL 5.5.35解说
所属栏目:[MySql教程] 日期:2022-03-28 热度:163
注,测试环境 CentOS 6.4 x86_64,MySQL 版本(5.1.73、5.5.35)目前最新版。下载地址:http://dev.mysql.com/downloads/mysql/5.1.html#downloads。 一、前言 前几篇博客中我们讲解了MySQL5.1与MySQL5.5之间的性能差异,MySQL5.5的性能有明显的提升,特别是[详细]
-
MHA故障更换脚本master_ip_failover结合VIP
所属栏目:[MySql教程] 日期:2022-03-28 热度:70
MHA故障切换脚本master_ip_failover结合VIP: #!/usr/bin/env perl use strict; use warnings FATAL = all; use Getopt::Long; my ( $command, $ssh_user, $orig_master_host, $orig_master_ip, $orig_master_port, $new_master_host, $new_master_ip, $new_[详细]
-
MySQL数据库之MHA高能用群集
所属栏目:[MySql教程] 日期:2022-03-28 热度:109
MHA概述 日本DeNA公司youshimaton (现就职于Facebook公司) 开发 一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件 MHA的组成 MHA Manager (管理节点) MHA Node (数据节点) MHA特点 自动故障切换过程中,MHA试图从宕机的主服务器上保存二进[详细]
-
mydumper工具运用介绍
所属栏目:[MySql教程] 日期:2022-03-28 热度:102
mydumper工具使用介绍: 一、mydumper 具有如下特性: 1 支持多线程导出数据,速度比mysqldump快。 2 支持一致性备份,使用FTWRL(FLUSH TABLES WITH READ LOCK)会阻塞DML语句,保证备份数据的一致性。 3 支持将导出文件压缩,节约空间。 4 支持多线程恢复。 5[详细]
