-
MySQL分库分表环境下全局ID生成办法
所属栏目:[MySql教程] 日期:2022-04-12 热度:114
MySQL分库分表环境下全局ID生成方案: 目录[-] 1. 数据库自增ID来自Flicker的解决方案 2. 独立的应用程序来自Twitter的解决方案 在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作。在单表时代,我们可以完[详细]
-
MySQL5.7关闭NUMA方式
所属栏目:[MySql教程] 日期:2022-04-12 热度:92
非一致存储访问结构 (NUMA : Non-Uniform Memory Access) 也是最新的内存管理技术。它和对称多处理器结构 (SMP : Symmetric Multi-Processor) 是对应的。 MySQL在NUMA架构上会出现的问题: 1).CPU规模因摩尔定律指数级发展,而总线发展缓慢,导致多核CPU通[详细]
-
MySQL每秒57万的写入,迅速还是慢?
所属栏目:[MySql教程] 日期:2022-04-12 热度:60
MySQL每秒57万的写入,快还是慢? 一、需求 一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使用。 二、实现再分析 对于单表20亿, 在MySQL运维,说真的这块目前涉及得比较少,也基本没什么经验,但[详细]
-
数据库的那点事
所属栏目:[MySql教程] 日期:2022-04-12 热度:199
谈到数据库,大家第一想法就是怎么去优化,怎么让查询操作更快。我认为最好的方式就是从开始数据库设计的时候就要尽量考虑周全。如果不幸是个老项目,就得从优化入手了。接下就从设计和优化谈一下我的一些认识和经验。 1:数据库的设计 一个好的数据库设计方[详细]
-
mysql的执行策划解释
所属栏目:[MySql教程] 日期:2022-04-12 热度:73
关于MySQL的执行计划,做个笔记,可以做为优化的依据,尽量将第四列 type优化到ref,至少要保证range方式,能用覆盖索引的要使用覆盖索引,然后possible_keys显示null不代表不使用索引,覆盖索引的时候,可能只在key列显示,possible_keys显示null;然后注意[详细]
-
xtrabackup自主全备份脚本
所属栏目:[MySql教程] 日期:2022-04-12 热度:91
xtrabackup自动全备份脚本,具有发送邮件和主从判断功能. ##set environment## . ~/.bash_profile BASEDIR=/data_bak SPACE_RATE=95 #space rate 95 SPACE_ROOM=10485760 #10GB WORKPATH=/data_bak/mysqlbackup/percona DATETIME=`date +%Y%m%d%H%M` INNOBACK[详细]
-
MySQL 5.5 FLUSH TABLES WITH READ LOCK语句简介
所属栏目:[MySql教程] 日期:2022-04-12 热度:131
FLUSH TABLES WITH READ LOCK语句会关闭所有打开的表,并将所有数据库的表加上全局只读锁。 这对于备份来说十分方便。如果有像 Veritas 或 ZFS 这样的文件系统,你可以对备份打快照。 也可以直接拷贝要备份的表文件到备份目录 cp -r /data_dir/ /back_dir 使[详细]
-
mytop安置,使用mytop监控MySQL性能
所属栏目:[MySql教程] 日期:2022-04-12 热度:143
mytop 是一个类似 Linux 下的 top 命令风格的 MySQL 监控工具,可以监控当前的连接用户和正在执行的命令。 mytop安装,使用mytop监控MySQL性能 1. 安装TermReadKey 安装: tar xzvf TermReadKey cd TermReadKey perl Makefile.pl make make test make instal[详细]
-
MySQL索引性能测验
所属栏目:[MySql教程] 日期:2022-04-12 热度:193
很长一段时间没学习MySQL了,一直致力于oracle的研究,最近得空了就再拾起MySQL看看吧,记得去年发布过的2篇MySQL文章: 今天我们就来看看mysql中索引的性能测试: 1 准备环境 1.1 在数据库中创建测试表test1 [root@rhel6_lhr ~]# mysql -p Enter password:[详细]
-
MySQL数据类别DECIMAL用法
所属栏目:[MySql教程] 日期:2022-04-12 热度:194
当我们需要存储小数,并且有精度要求,比如存储金额时,通常会考虑使用DECIMAL字段类型,可能大部分同学只是对DECIMAL类型略有了解,其中的细节还不甚清楚,本篇文章将从零开始,为你讲述DECIMAL字段类型的使用场景及方法。 1.DECIMAL类型简介 DECIMAL从MySQ[详细]
-
mysql主从拷贝原理
所属栏目:[MySql教程] 日期:2022-04-12 热度:132
环境: 3306 主库 3307 从库 1 设置server-id值并开启binlog功能参数 编辑mysql的配置文件/data/3306/my.cnf [mysqld] server-id = 6 ----用于同步的每台机器或实例sever-id都不能相同 log_bin =/data/3306/mysql-bin ----可以省略 重启服务 /data/3306/mysq[详细]
-
记住 永远不要在 MySQL 中运用 UTF-8
所属栏目:[MySql教程] 日期:2022-04-12 热度:131
最近我遇到了一个bug,我试着通过Rails在以utf8编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value:xF0x9Fx98x83 for column summary at row 1 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就[详细]
-
JDB2致使磁盘io使用率高 导致mysql延迟过高
所属栏目:[MySql教程] 日期:2022-04-12 热度:143
背景:某项目slave数据库的延迟非常大 结合上iostat中 wsec/s 较大的数值,基本可以确定IO高负载的元凶是redo log的flush,而不是data page的flush 查看innodb log buffer状态 mysql show global status where variable_name in(Innodb_log_waits,Innodb_buf[详细]
-
linux高负载下mysql数据库完全优化
所属栏目:[MySql教程] 日期:2022-04-12 热度:56
linux高负载下mysql数据库彻底优化(转)[@more@] 同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给My[详细]
-
MySQL--数据完全性
所属栏目:[MySql教程] 日期:2022-04-12 热度:83
- 数据类型 原则 尽量使用取值范围小的,节省存储空间 整数:int, bit 小数:decimal 表示浮点数 主键:primary key 物理上存储的顺序 非空:not null 唯一:unique 字段不允许重复 默认:default 不填写使用默认值,填写以填写为准 外键:foreign key 外键[详细]
-
MySQL两阶段提交过程原理阐述
所属栏目:[MySql教程] 日期:2022-04-12 热度:182
MySQL使用两阶段提交主要解决 binlog 和 InnoDB redo log 的数据一致性的问题. 两阶段提交原理描述: 阶段1:InnoDB redo log 写盘,InnoDB 事务进入 prepare 状态 阶段2:如果前面prepare成功,binlog 写盘,那么再继续将事务日志持久化到binlog,如果持久化[详细]
-
企业情况下MySQL5.5调优
所属栏目:[MySql教程] 日期:2022-04-12 热度:94
参照 腾讯云 和ucloud my.cnf 以及网上找的资料 整理出来的 my.cnf , 以后修改任何参数都会继续更新 也是在测试阶段 物理机 : ubuntu14.04 配置 8core 32G mysql : 5.5.62 调优配置 [client] port = 3306 socket = /var/run/mysqld/mysqld.sock default-ch[详细]
-
mysql兼mariadb安装步骤详解
所属栏目:[MySql教程] 日期:2022-04-11 热度:118
因为5.5以后都用cmake编译了,所以系统里没有的话,就下个源码的装一下,怎么测试系统里有没有装了,在命令行中输入#cma 在按Tab看有没有cmake 有的话系统就装过了,就不用在装了。没有话就去下个吧,下载地址:https://cmake.org/download/ 还要装boost才能[详细]
-
Mysql数据库审核
所属栏目:[MySql教程] 日期:2022-04-11 热度:196
数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源[详细]
-
登录Facebook与Twitter
所属栏目:[MySql教程] 日期:2022-04-11 热度:116
F acebook和Twitter在社交网络世界中变得越来越大,两个网络都提供oAuth支持。 我们开发了一个用Twitter和Facebook登录的系统。 如今网页用户对填写大型注册表不感兴趣。 此脚本可帮助您避免注册表单,它非常有用且易于集成。 该教程包含三个名为 facebook[详细]
-
MySQL 5.5 INSERT ON DUPLICATE KEY UPDATE语句解说
所属栏目:[MySql教程] 日期:2022-04-11 热度:148
执行INSERT ... ON DUPLICATE KEY UPDATE语句,如果INSERT的语句插入的值和已有的UNIQUE索引或主键重复的话,MySQL会更新已存在的行。 测试没有主键和UNIQUE索引的表 mysql select * from dept2; +--------+-------------+-------------+ | deptno | dname |[详细]
-
innodb next-key lock引发的死锁现象解析
所属栏目:[MySql教程] 日期:2022-04-11 热度:96
这个例子是我在网上看到的,我分析了很久才弄明白锁产生的具体过程。 数据库的事务隔离级别是RR。 建测试表: CREATE TABLE `LockTest` ( `order_id` varchar(20) NOT NULL, `id` bigint(20) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), KEY `idx_order_i[详细]
-
Linux下mysql忘记管理员密码的处理方法
所属栏目:[MySql教程] 日期:2022-04-11 热度:79
当你的mysql管理员密码忘记了,怎么办? 来看看下面 在开启mysql服务的适时候,使用--skip-grant-tables 参数跳过权限检查启动mysql [root@potato Desktop]# mysqld_safe --skip-grant-tables 161209 00:01:29 mysqld_safe Logging to /data/mysql/mytest_33[详细]
-
MySQL之优化
所属栏目:[MySql教程] 日期:2022-04-11 热度:88
MySQL的优化 : 一、我们可以且应该优化什么? 硬件 操作系统/软件库 SQL服务器(设置和查询) 应用编程接口(api) 应用程序 ------------------------------------------------------------ 二、优化硬件 如果你需要庞大的数据库表(2G),你应该考虑使用64位的硬[详细]
-
CentOS 6.3 安置MySQL-5.7.10
所属栏目:[MySql教程] 日期:2022-04-11 热度:99
MySQL的安装分为三种: 1、RPM包安装; 2、二进制包安装; 3、源码安装。 第一种方式比较简单,直接RPM包安装就OK了,或者通过yum源来安装,但无法自定义安装目录。 而第三种方式比较复杂。 一般项目中使用比较多的是通过二进制包来安装,这种安装方式可以根[详细]