在线上进行DDL操作时,相对于其可能带来的系统负载,其实,我们最担心的还是MDL其可能导致的阻塞问题. 一旦DDL操作因获取不到MDL被阻塞,后续其它针对该表的其它操作都会被阻塞.典型如下,如阻塞稍久的话,我们会看到Threads_running飙升,CPU告警. mysql> show processlist; +----+-----------------+-----------+-----------+---------+------+---------------------------…
mysql-schema-sync 是一款使用go开发的.跨平台的.绿色无依赖的 MySQL 表结构自动同步工具.用于将线上(其他环境)数据库结构变化同步到测试(本地)环境! 可以解决多人开发,每人都使用独立数据库导致结构不一样的问题! 支持功能:1.  同步新表2.  同步字段 变动:新增.修改3.  同步索引 变动:新增.修改4.  同步字段.索引 屏蔽变动更新5.  支持预览(只对比不同步变动)6.  邮件通知变动结果 配置 参考 默认配置文件  config.json 配置同步源.目的地…
GitHub正式宣布以开源的方式发布gh-ost:GitHub的MySQL无触发器在线更改表定义工具! gh-ost是GitHub最近几个月开发出来的,目的是解决一个经常碰到的问题:不断变化的产品需求会不断要求更改MySQL表结构.gh-ost通过一种影响小.可控制.可审计.操作简单的方案来改变线上表结构. 在介绍gh-ost之前,我们先了解一下各种现有方案,以及为什么要自己开发一个新工具. 已有的在线修改表定义方案 目前,在线修改表定义的任务主要是通过这三种途径完成的: 在从库上修改表定义,修…
查看mysql表结构的方法有三种:1.desc tablename;例如:要查看jos_modules表结构的命令:desc jos_modules;查看结果:mysql> desc jos_modules; +------------------+---------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-…
mysql,frm格式恢复mysql表结构,以tuser.frm格式为例   新增数据库,如下,创建数据库名为ab   打开数据库,双击打开数据库   点右键新建表结构   新增表,里面只添加一个字段,主键,如下图   保存包结构,表明必须为tuser.frm中的tuser表名   打开mysql安装目录,找打ab数据库   进入ab目录,两个文件一个是文盲的表结构   将tuser.frm,覆盖ab目录下的frm   重启mysql,打开数据库表结构   然后打开刚建的表结构,那么以前的表结构…
      SQL SERVER的表结构及索引转换为MySQL的表结构及索引,其实在很多第三方工具中有提供,比如navicat.sqlyog等,但是,在处理某些数据类型.默认值及索引转换的时候,总有些不尽人意并且需要安装软件,懒人开始想法子,所以基于SQL SERVER,写了一个存储过程,可以根据表名直接转换为MySQL的建表建索引的SQL脚本(针对 MySQL Innodb引擎).目前不支持分区表的分区配置及区域数据类型的转换.         如果转载,请注明博文来源: www.cnblog…
转自:http://blog.csdn.net/business122/article/details/7531291 查看mysql表结构的方法有三种: 1.desc tablename; 例如: 要查看jos_modules表结构的命令: desc jos_modules; 查看结果: mysql> desc jos_modules; +------------------+---------------------+------+-----+---------------------+--…
Sqoop将MySQL表结构同步到hive sqoop create-hive-table --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table sqoop_job --hive-table sqoop_job --fields-terminated-by , orc格式的 sqoop import --connect jdbc:mysql://localhost:330…
说明在mysql语句中,sql语句总共分四种 a.DDL数据定义语句=>常用的ddl语句有(CREATE[创建],DROP[删除],ALTER[修改表结构]) b.DML数据操作语句=>常用的dml语句有(INSERT[添加],UPDATE[修改数据],DELETE[删除]) c.DQL数据查询语句=>常用的dql语句有(SELECT[查询]) d.DCL数据控制语句=>用于管理数据库和用户的. 常用的有(commit, savepoint, rollback, grant, re…
一.问题发生 说一个现象,当收到服务器报警之后,数据库服务器CPU使用超过90%,通过 show processlist 一看,满屏都是 Waiting for table metadata lock 状态的连接.第一反应就是kill掉这些连接,奈何连接实在太多,实在kill不过来,于是重启服务,重启果真能解决90%的问题,但如果不找到问题原因,问题也肯定会再次出现. 类似于下图(没找到Waiting for table metadata lock的示例,将就看下) Id User Host d…
客户的机器系统异常关机,重启后mysql数据库不能正常启动,重装系统后发现数据库文件损坏,悲催的是客户数据库没有进行及时备份,只能想办法从数据库文件当中恢复,查找资料,试验各种方法,确认下面步骤可行: 一.找回表结构,如果表结构没有丢失直接到下一步 a.先创建一个数据库,这个数据库必须是没有表和任何操作的. b.创建一个表结构,和要恢复的表名是一样的.表里的字段无所谓.一定要是innodb引擎的.CREATE TABLE `test`(  `testID` bigint(20)) ENGINE=…
mysql语法及相关命令1.每个sql命令都需要使用分号来完成2.可以将一个命令写成多行3.可以通过\c来取消本行命令4.可以通过\g.exit.ctrl+c或者quit来退出当前客户端5.可以通过使用help命令来查询快捷键6.将查询后的数据竖起来\G7.显示当前服务器状态\s8.更改执行符\d9.使用?查询命令帮助,如 ?create 数据库相关操作:create database [if not exists] databasename 创建名为databasename的数据库 show…
最近需要写文档,由于开发模式是先开发后写文档(不想吐槽...),数据库表结构什么的都搞好了,然后写文档的时候需要贴表结构,什么字段,类型,相关说明需要一一对应起来,数据库表10多张,字段又多,手动复制粘贴太蛋疼了,于是就写了个将表结构转excel表格的简单实现(丑是丑了点,毕竟实现功能了不是). package net.cloudkit.management.util; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apac…
前言:最近在实习中,做到跟MySQL相关的开发时,想起了好久前的一个笔试题——查看数据库表结构有哪几种方法: (一)使用DESCRIBE语句 DESCRIBE table_name; 或DESC table_name; 后者是前者的简写形式.这种方式是最简单的语句. (二)SHOW COLUMNS语句 SHOW COLUMNS FROM table_name; 效果与上面相同. (三)SHOW CREATE 语句 SHOW CREATE TABLE table_name; 这一语句作用与上面不同…
客户的机器系统异常关机,重新启动后mysql数据库不能正常启动,重装系统后发现数据库文件损坏,悲催的是客户数据库没有进行及时备份,仅仅能想办法从数据库文件其中恢复,查找资料,试验各种方法,确认以下步骤可行: 一.找回表结构.假设表结构没有丢失直接到下一步       a.先创建一个数据库.这个数据库必须是没有表和不论什么操作的. b.创建一个表结构.和要恢复的表名是一样的. 表里的字段无所谓. 一定要是innodb引擎的.CREATE TABLE `test`(  `testID` bigint…
一.MySQL数据类型 1.数字类型 (1)整数数据类型包括TINYINT/BIT/BOOL/SMALLINT/MEDIUMINT/INT/BIGINT (2)浮点数据类型包括FLOAT/DOUBLE/DECIMAL 原则: 1.选择最小的可用类型,如果值永远不超过127,则使用TINYINT比INT强. 2.对于完全都是数字的,可以选择整数类型.     3.浮点类型用于可能具有小数部分的数.如货物单价.网上购物交付金额等. 2.字符串类型 (1)普通的文本字符串类型包括CHAR(取值为1~2…
MariaDB [test]> show create table bp \G; #查看bp表结构,id长度为20 *************************** 1. row *************************** Table: bp Create Table: CREATE TABLE `bp` ( `id` int(20) NOT NULL DEFAULT '0', `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`…
2014-07-31 09:38:31 ERROR OGG-01668 PROCESS ABENDING. 2014-07-31 09:38:31 ERROR OGG-01161 Bad column index (88) specified for table WIP.WIP_PARAMETERS, max columns = 88. 网上有说是表结构不一致的.可是我已经细致比对了每一个字段.是一致的. 那为什么初始化同步就出问题呢? 应该是打补丁导致源端表结构发生了变化,比方添加了字段.  …
redmine能够创建自己定义字段,我经经常使用它来满足不同的管理需求.如今来解读一下.看看这些自己定义字段是怎样存在mysql表中的. 表issues 用来存放issue的标准字段. mysql> describe issues; +----------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----…
背景:有时需要做数据字典,其中最重要的就是表结构.经整理,编写SQL如下: 代码: 1 -- drop TABLE `cfg_data_dict` ; 2 CREATE TABLE `cfg_data_dict` ( 3 `id` int NOT NULL AUTO_INCREMENT, 4 `col_index` int unsigned DEFAULT NULL, 5 `col_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general…
在数据库空闲时间,对表做碎片整理: alter table my_abc engine=innodb; 发现会话被阻塞,显示状态是: Waiting for table metadata lock 手动断开alter操作后,通过show processlist查看:​ > show processlist; +--------+--------+---------------------+-----------+---------+-------+----------+-------------…
方法一: 1.使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想转成Excel格式的只需手动将该表复制到Excel中去. 方法二: 1.以下用的是Navicat Premium,可以换成任意图形化客户端 SELECT   COLUMN_NAME 列名,   COLUMN_TYPE 数据类型,     DATA_TYPE 字段类型,   CHARACTER_MAXIMUM_LENGTH 长度,   IS_NULLABLE 是否为空,   CO…
方法一: 1.使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想转成Excel格式的只需手动将该表复制到Excel中去. 方法二: 1.以下用的是Navicat Premium,可以换成任意图形化客户端 SELECT  COLUMN_NAME 列名,  COLUMN_TYPE 数据类型,    DATA_TYPE 字段类型,  CHARACTER_MAXIMUM_LENGTH 长度,  IS_NULLABLE 是否为空,  COLUMN_D…
索引组织表(IOT表):为什么引入索引组织表,好处在那里,组织结构特点是什么,如何创建,创建IOT的限制LIMIT. IOT是以索引的方式存储的表,表的记录存储在索引中,索引即是数据,索引的KEY为PRIMARY KEY.数据的查询可以通过查询索引的同时查询到数据,因为索引和数据存储在一个数据块中,减少了一次磁盘I/O.数据是按照主键顺序创建的索引,索引中有对应的数据,这样依据主键做范围扫描时,减少了读取的数据块数量,减少了磁盘I/O.也减少了索引的存储空间,因为索引和数据存在一起.如果是B树索…
索引组织表(IOT表):为什么引入索引组织表,好处在那里,组织结构特点是什么,如何创建,创建IOT的限制LIMIT. IOT是以索引的方式存储的表,表的记录存储在索引中,索引即是数据,索引的KEY为PRIMARY KEY.数据的查询可以通过查询索引的同时查询到数据,因为索引和数据存储在一个数据块中,减少了一次磁盘I/O.数据是按照主键顺序创建的索引,索引中有对应的数据,这样依据主键做范围扫描时,减少了读取的数据块数量,减少了磁盘I/O.也减少了索引的存储空间,因为索引和数据存在一起.如果是B树索…
1.Navicat for MySQL 选择要保存的表,右键转储SQL文件,导出的sql文件中包括表的定义和表的数据两部分. 其他办法: (1) create table dust select * from student;//用于复制前未创建新表dust的情况下 (2) insert into dust select * from student;//已经创建了新表dust的情况下 更多: http://blog.csdn.net/besily/article/details/3194286…
http://www.liangchan.net/liangchan/4561.html 1.使用一个mysql管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想转成Excel格式的只需手动将该表复制到Excel中去.…
仅供自己学习   结论写在前面: 1.给字段选取最合适的数据类型 2.数据类型的宽度尽可能的小 3.给where条件的字段设置索引 4.允许部分数据冗余 5.字段要尽可能的设置为not null,特别是使用了索引的字段 6.选取合适的数据库引擎   选择正确的数据类型,对于提高性能至关重要. 下面给出几种原则,有利于帮助你选择何种类型. 1.更小通常更好. 使用最小的数据类型.——更少的磁盘空间,内存和CPU缓存.而且需要的CPU的周期也更少.   2.简单就好. 整数代价小于字符.——因为字符…
1.登录数据库>mysql -u root -p 数据库名称 2.查询所有数据表>show tables; 3.查询表的字段信息>desc 表名称; 4.1添加表字段 alter table table1 add transactor varchar(10) not Null; alter table   table1 add id int unsigned not Null auto_increment primary key 4.2.修改某个表的字段类型及指定为空或非空>alt…
1. fnc_table_to_mysql 主体程序 create or replace function fnc_table_to_mysql ( i_owner in string, i_table_name in string, i_number_default_type in string := 'decimal', i_auto_incretment_column_name in string := '%ID' ) /* 功能:ORACLE表生成MYSQL建表DDL 作者:叶正盛 20…