Welcome 微信登录

首页 / 数据库 / MySQL

Ubuntu上安装MySQL+问题处理+安全优化

Ubuntu上安装MySQL+问题处理+安全优化

0.说明当然,MySQL的安装方法多种多样,在Ubuntu上,你可以采用apt-get的方式安装,这样的好处是:快速方便。基本上,它会帮你解决所有的函数库依赖问题,正常情况下,只要apt-get执行完成,那么MySQL也就可以使用了。但我更倾向于使用源码的方式来安装MySQL,原因也很简单:除了有详细的官方文档外,你还可以非常清楚地知道你自己在做什么,这点在以后MySQL运行出现问题时将会有很大的帮助!但即便是按照官方文档来安装,你也会遇到各种各样的问题,...
MySQL中复制数据表中的数据到新表中的操作教程

MySQL中复制数据表中的数据到新表中的操作教程

MySQL是不支持SELECT … INTO语法的,使用INSERT INTO … SELECT替代相同用法,下面我们我们这里简答分一下新表存在和不存在两种情况,具体使用不同的语句。1.新表不存在复制表结构即数据到新表create table new_tableselect * from old_talbe;这种方法会将old_table中所有的内容都拷贝过来,用这种方法需要注意,new_table中没有了old_table中的primary key,Ex...
Mysql数据库分库和分表方式(常用)

Mysql数据库分库和分表方式(常用)

本文主要给大家介绍Mysql数据库分库和分表方式(常用),涉及到mysql数据库相关知识,对mysql数据库分库分表相关知识感兴趣的朋友一起学习吧1 分库1.1 按照功能分库按照功能进行分库。常见的分成6大库:1 用户类库:用于保存了用户的相关信息。例如:db_user,db_system,db_company等。2 业务类库:用于保存主要业务的信息。比如主要业务是笑话,用这个库保存笑话业务。例如:db_joke,db_temp_joke等。3 内存类库:...
InnoDB数据库死锁问题处理

InnoDB数据库死锁问题处理

场景描述在update表的时候出现DeadlockLoserDataAccessException异常 (Deadlock found when trying to get lock; try restarting transaction...)。问题分析这个异常并不会影响用户使用,因为数据库遇到死锁会自动回滚并重试。用户的感觉就是操作稍有卡顿。但是监控老是报异常,所以需要解决一下。解决方法在应用程序中update的地方使用try-catch。我自己封装了...
简述MySQL分片中快速数据迁移

简述MySQL分片中快速数据迁移

推荐阅读:MySQL 数据库跨操作系统的最快迁移方法mysql 备份与迁移 数据同步方法操作实践背景:travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上,并完成记录, 要求最快的数据迁移做法,中断业务时间最短思路一利用mysqldump:在这里我们只针对mysql innodb engine,而且配置bin-log的数据库进行分析。因为是将10个分片中的两个分片进行迁移,其实就是数据库的迁移过程,就是将10个数...
浅谈MySQL排序原理与案例分析

浅谈MySQL排序原理与案例分析

前言排序是数据库中的一个基本功能,MySQL也不例外。用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct语句都会隐含使用排序。本文首先会简单介绍SQL如何利用索引避免排序代价,然后会介绍MySQL实现排序的内部原理,并介绍与排序相关的参数,最后会给出几个“奇怪”排序例子,来谈谈排序一致性问题,并说明产生现象的本质原因。1.排序优化与索引使用为了优化SQL语句的排序性能,最好...
MySQLMerge存储引擎

MySQLMerge存储引擎

MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询。构成一个MERGE数据表结构的各成员MyISAM数据表必须具有完全一样的结构。每一个成员数据表的数据列必须按照同样的顺序定义同样的名字和类型,索引也必须按照同样的顺序和同样的方式定义。Merge存储引擎允许将一组使用MyISAM存储引擎的并且表结构相同(即每张表的字段顺序、字段名称、字段类型、索引定义的顺序及其定义的方式必须相同)的数据表合并为一个表,方便了数据...
理解Mysql prepare预处理语句

理解Mysql prepare预处理语句

MySQL 5.1对服务器一方的预制语句提供支持。如果您使用合适的客户端编程界面,则这种支持可以发挥在MySQL 4.1中实施的高效客户端/服务器二进制协议的优势。候选界面包括MySQL C API客户端库(用于C程序)、MySQL Connector/J(用于Java程序)和MySQL Connector/NET。例如,C API可以提供一套能组成预制语句API的函数调用。其它语言界面可以对使用了二进制协议(通过在C客户端库中链接)的预制语句提供支持。对...
理解MySQL存储过程和函数

理解MySQL存储过程和函数

一、概述 一提到存储过程可能就会引出另一个话题就是存储过程的优缺点,这里也不做讨论,一般别人问我我就这样回答你觉得它好你就用它。因为mysql中存储过程和函数的语法非常接近所以就放在一起,主要区别就是函数必须有返回值(return),并且函数的参数只有IN类型而存储过程有IN、OUT、INOUT这三种类型。二、语法 创建存储过程和函数语法CREATE PROCEDURE sp_name ([proc_parameter[,...]])[characteri...
MySQL使用游标批量处理进行表操作

MySQL使用游标批量处理进行表操作

一、概述本章节介绍使用游标来批量进行表操作,包括批量添加索引、批量添加字段等。如果对存储过程、变量定义、预处理还不是很熟悉先阅读我前面写过的关于这三个概念的文章,只有先了解了这三个概念才能更好的理解这篇文章。理解MySQL变量和条件:http://www.jb51.net/article/81375.htm理解Mysql prepare预处理语句:http://www.jb51.net/article/81378.htm理解MySQL存储过程和函数:htt...
窥探mysql存储过程细节

窥探mysql存储过程细节

存储过程,可以这样认为,将我们需要特殊处理的sql语句封装成函数,当需要的时候我们只需调用这个函数就可以实现我们想要的操作,这个过程我们可以称之为存储过程。当然了,真正存储过程的定义不是这样的。但是我们可以这样简单的去理解存储过程。下面我们看一个简单的使用存储过程的例子。首先我们新建一张表 proced:create table proced( id int(5) primary key auto_increment, name varchar(50), ...
Mac 安装和卸载 Mysql5.7.11 的方法

Mac 安装和卸载 Mysql5.7.11 的方法

安装去http://www.mysql.com/downloads/, 选择最下方的MySQL Community Edition,点击MySQL Community Server的download, 下载DGM Archive版本。下载好之后发现只有一个dmg主文件,貌似5.7之前的版本会有多个安装文件。点开这个文件,逐步安装,注意在成功的时候会弹出提示框,给出临时密码,一定要记住,一定要记住,一定要记住!!!! 如果没找到,请桌面右拉看notifica...
关于skip_name_resolve参数的总结分享

关于skip_name_resolve参数的总结分享

作为MySQL调优的一部分,很多人都推荐开启skip_name_resolve。这个参数是禁止域名解析的(当然,也包括主机名)。很多童鞋会好奇,这背后的原理是什么,什么情况下开启这个参数比较合适。基于以下原因,MySQL服务端会在内存中维护着一份host信息, 包括三部分:IP,主机名和错误信息。主要用于非本地TCP连接。1. 通过在第一次建立连接时缓存IP和host name的映射关系,同一主机的后续连接将直接查看host cache,而不用再次进行DN...
将MySQL help contents的内容有层次的输出方法推荐

将MySQL help contents的内容有层次的输出方法推荐

经常会遇到这种情况,在一个不能上网的环境通过MySQL客户端登录数据库,想执行一个操作,却忘了操作的具体语法,各种不方便。其实,MySQL数据库内置了帮助文档,通过help contents即可查看。如下所示:可见,该文档涵盖了数据库操作的大部分主题。文档分为以上几大类,每个大类又包括更小粒度的类,类最后有具体的topic组成。那么这之间的层级关系如何呢?昨天想执行一个操作mysql> backup table emp to "/tmp/mysqlb...
浅析mysql交互式连接&非交互式连接

浅析mysql交互式连接&非交互式连接

交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议。非交互式操作:就是你在你的项目中进行程序调用。比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接。那么这时候就是非交互式操作。在之前,我基本上不关系这两个属性,都是用的是mysql服务商推荐的默认值,就是8小时。但是,从昨天开始...
<< 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 >>