MySql

MySQL复制(二) --- 二进制日志怎么干活的

由之前的文章可以了解到,二进制日志在复制中起到举足轻重的作用,所以这一篇文章着重了解一下Mysql复制背后核心组件:二进制日志的庐山真面目。二进制日志的结构从概念上讲,二进制日志是一系列二进制日志事件。它包括一系列的binlog文件和一个binlog索引文件,当前服务器正在写入的binlog文件称之为activebinlog。其文件名是通过配置文件中的log-bin和log-bin-index来定义的。每个binlog文件是由若干binlog事件组成,以F

系统 2019-08-12 01:33:22 2566

MySql

mysql——int(size) 中的size表示什么意思

先给出结论:int(size)中的size表示显示长度,但是只有和ZEROFILL一起使用才有意义!而varchar(size)中的size表示存储长度,而不是显示长度!下面给出验证过程:一路Google下来,无非是说size表示显示长度,而非存储长度,可问题是我用int(2)和int(8)表示的显示长度一样啊!见下图:显示宽度只有和zerofill结合使用才有意义!varchar(size)中的size表示存储长度!mysql——int(size)中的s

系统 2019-08-12 01:55:03 2565

MySql

[SQL]常用的MySQL基本语句(整理中)

一、对数据库的基本操作1.创建DATABASECREATEDATABASE用于创建数据库,基本语法如下:CREATEDATABASEdatabase_name下面来举个例子:我们希望创建一个名为"test_db"的数据库。我们使用下面的CREATEDATABASE语句:CREATEDATABASEtest_django可以通过CREATETABLE来添加数据库表。2.查看DATABASE创建之后我们可以用以下语法来查看我们的MySQL中有那些数据库(注意最

系统 2019-08-12 01:54:48 2565

MySql

Create My MySQL configuration by Percona

本文地址:http://www.cnblogs.com/yhLinux/p/4013065.htmlhttps://tools.percona.com/Percona是一款在线自动生成MySQL配置文件的工具,提供的MySQL配置文件做了优化处理。首先,需要注册,然后按网站上提示选择设置,一共7步。#GeneratedbyPerconaConfigurationWizard(http://tools.percona.com/)versionREL5-201

系统 2019-08-12 09:26:40 2564

MySql

mysql获取插入ID

在MySQL中,使用auto_increment类型的id字段作为表的主键。通常的做法,是通过“selectmax(id)fromtablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表以“X锁“,待获得max(id)的值以后,再解锁。这种做法需要的步骤比较多,有些麻烦,而且并发性也不好。有没有更简单的做法呢?答案之一是通过selectLAST_INSERT_ID()这个操作。乍一看,它和selectmax(id)很象,但实际上它

系统 2019-08-12 01:55:16 2563

MySql

mysql字符集说明

mysql字符集说明一、mysql中涉及的几个字符集Øcharacter-set-server/default-character-set:服务器字符集,默认情况下所采用的。Øcharacter-set-database:数据库字符集。Øcharacter-set-table:数据库表字符集。优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-ser

系统 2019-08-12 01:54:32 2563

MySql

MySQL存储过程带in和out参数

MySQL存储过程带in和out参数最简单的例子:[html]mysql>DELIMITER$$mysql>USEtest$$Databasechangedmysql>DROPPROCEDUREIFEXISTS`sp_add`$$QueryOK,0rowsaffected(0.00sec)mysql>CREATEPROCEDUREsp_add(aINT,bINT,OUTcINT)->BEGIN->SETc=a+b;->END$$QueryOK,0rowsa

系统 2019-08-12 01:32:28 2563

MySql

MySQL学习(一) 概述

MySQL是一个开源的数据库系统,近些年来使用率越来越高,目前属于Oracle公司所有,其拥有MySQL的商标,属于主流版本,由于其开源特性,出现了一些分支,常见的有MariaDB、PerconaServer、Drizzle。这三个版本各有其特点。其中目前最流行的是MariaDB,很多Linux发行版默认的MySQL已经切换为MariaDB,但其他分支也有其适用范围,在选择的时候需要仔细甄别。PerconaServer由一家MySQL咨询公司拥有,这个公司

系统 2019-08-12 01:54:45 2562

MySql

详细讲解如何导入和导出MySQL数据库

1.简介MySQL数据库的导入,有两种方法:(1)先导出数据库SQL脚本,再导入;(2)直接拷贝数据库目录和文件。在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。2.方法一SQL脚本形式操作步骤如下:2.1.导出SQL脚本在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL

系统 2019-08-12 01:54:20 2562

MySql

升级到MySQL 5.0.17一定遇到的四个问题

1中文问题在使用MySQL实例配置工具的使用,将使用的字符集设置为GBK2密码问题:安装时设置的密码使用phpMyAdmin访问时不能用mysql>SETPASSWORDFOR->'root'@'localhost'=OLD_PASSWORD('root');3字段严格检查的问题在实例配置工具中将EnableStrictMode去掉4phpMyAdmin乱码问题Language:Chinesesimplified(zh-utf-8)MySQL连接校对:gb

系统 2019-08-12 01:33:34 2562

MySql

MySQL分库分表环境下全局ID生成方案

在大型互联网应用中,随着用户数的增加,为了提高应用的性能,我们经常需要对数据库进行分库分表操作。在单表时代,我们可以完全依赖于数据库的自增ID来唯一标识一个用户或数据对象。但是当我们对数据库进行了分库分表后,就不能依赖于每个表的自增ID来全局唯一标识这些数据了。因此,我们需要提供一个全局唯一的ID号生成策略来支持分库分表的环境。下面来介绍两种非常优秀的解决方案:1.数据库自增ID--来自Flicker的解决方案因为MySQL本身支持auto_increme

系统 2019-08-12 01:32:23 2562

MySql

MySQL去重显示指定字段信息

在使用MYSQL的selectdistinctnamefromtable语句时,输出的只是去重之后name字段的信息,而希望的是能够输出考生ID、考试时间、考试成绩等的信息。使用selectdistinctname,sorcefromtable结果发现去重不起作用,因为MYSQL认为要sorce和name同时重复才会去除。最终解决办法如下:select*,count(distinctname)fromtablegroupbyname如果SQL语句还有lim

系统 2019-08-12 01:54:51 2561

MySql

mac jdbc连接mysql

1.下载jdbc驱动:http://dev.mysql.com/downloads/connector/j/2.增加jdbc的jar包至项目的libs文件夹并buildpath2.改动环境变量:exportPATH=/usr/local/mysql/bin/:${PATH}3.默认root@localhost没有password4.改动password:命令行:mysqladmin-uroot-ppasswordrootMYSQL环境中的命令:mysql>

系统 2019-08-12 01:54:04 2560

MySql

mysql的查询缓存

查询是数据库技术中最常用的操作。查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后,执行这条SQL语句,然后将查询到的结果返回给客户端。虽然过程很简单,但不同的查询方式和数据库设置,对查询的性能将会有很在的影响。因此,本文就在MySQL中常用的查询优化技术进行讨论。讨论的内容如:通过查询缓冲提高查询速度;MySQL对查询的自动优化;基于索引的排序;不可达查询的检测和使用各种查询选择来提高性能。显然,这对

系统 2019-08-12 01:53:04 2560

MySql

mysql批量sql插入优化

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。经过对MySQLinnodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。1.一条SQL语句插入多条数据。常用的插入语句如:1234INSERTINTO`insert_table`(`datetime`,`uid`,`content`

系统 2019-08-12 01:53:00 2560