Welcome 微信登录

首页 / 数据库 / MySQL

Percona XtraBackup开源工具包使用简述

Percona XtraBackup开源工具包使用简述

在实际的生产环境中要保证线上的服务正常是非常重要的,所以在平时备份数据库一般都是在使用比较少的时候进行的,而在mysql中有默认的备份工具mysqldump,在一般的场景中备份都没有太大的问题,mysqldump这种古老的工具在备份时是把数据转化成sql的脚本,是一种逻辑备份方式,但是比较大的数据备份时或者需要做主从同步的时的备份时mysqldump的效率就变的十分低下了(长时间的锁表、占用大量的系统资源、备份大量数据时间长等等),所以在这些特殊的场景下m...
mysql_slow_log快速切割脚本

mysql_slow_log快速切割脚本

最近会比较多的分析mysql的慢日志,应为在mysql的慢日志中没有使用logrotate所以每次要要查看某一天到现在的慢查询日志都要使用正则工具切割,但是每次重新写就有一点麻烦,所以就用脚本写了下输入时间参数就可以切割日志的简易工具,脚本如下:#!/bin/bash#slow_log_cutting.sh version1.0 chmod 700#use fast cutting mysql_slow_log#writer jim#history#201...
使用内存技术提升Azure SQL数据库的性能

使用内存技术提升Azure SQL数据库的性能

2016年年末,Microsoft发布了Azure SQL数据库内存技术通用版。该内存处理技术仅能在Azure Premium数据库层使用,它提升了联机事务处理(OLTP)以及混合事务分析处理场景中聚集列存储索引和非聚集列存储索引的性能。Azure SQL数据库与SQL Server数据库使用了同样的内存技术。之前,Microsoft首先分别在SQL Server 2012和SQL Server 2014的列存储索引及联机事务处理中引入了内存能力。Micr...
MySQL的索引与优化

MySQL的索引与优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则总共需要100s(但实际上要好很多很多)。如果对之建立B-...
MySQL变量修改及生效

MySQL变量修改及生效

使用过mysql的人都知道我们对mysql设置变量是在my.cnf文件里,平时修改一次变量后需要重启mysql的服务,但是在实际生产服务器中这样是不允许的,我们可以通过这个语句查询mysql的全部变量mysql> show global variables;如果mysql中开启了慢查询日志分析,查看慢查询的设定默认时间及要调整默认时间就mysql>showglobalvariableslike"%_time";+----------------...
MySQL内建指令下常用选项参数

MySQL内建指令下常用选项参数

在使用mysql的过程中常常应为种种原因,平时要对mysql的备份、优化等等操作写脚本以方便管理。如果要写脚本,那就必须使用到mysql的内建指令的选项参数,这里就简要的说几个比较常用的选项参数:123456789101112-h,--host=name 设置连接的主机-u,--user=name 指定使用的用户名-p,--password[=name] 输入密码-P,--port=# 指定使用的端口-A, --no-auto-reh...
MySQL下的socket文件作用

MySQL下的socket文件作用

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,一般在配置部署mysql环境时都会在mysql的my.cnf文件中[mysqld]栈下添加上socket文件的路径,而这样做的好处是如果启用了多实例mysql时,可以通过socket文件来快速的登录mysql对应不同端口下的实例,如在一台有部署2个实例的mysql服务一个是用3306,一个是用3307端口,那么就可以通过2个不同的socket文件快速的登录mysql ...
MySQL主从同步读写分离的集群配置

MySQL主从同步读写分离的集群配置

大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数据库必然会崩溃。数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached等。如果资金充足的话,必然会想到假设服务器集群,来分担主数据库的压力。或者在硬件设备上...
MySQL主从配置及实现读写分离

MySQL主从配置及实现读写分离

大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力。Ok切入今天主题,利用MySQL主从配置...
Linux(Ubuntu)下mysql5.7.17安装配置方法图文教程

Linux(Ubuntu)下mysql5.7.17安装配置方法图文教程

前言前面安装过mysql5.6,时隔三个月,开发那边反馈需要在MySQL中处理JSON类型的数据,查看文档,JSON是在5.7支持的新特性。于是着手安装Mysql57 Mysql5.6.28的安装:http://www.jb51.net/article/103743.htm安装若使用apt-get install mysql-server进行安装,默认安装的不是最新的版本,于是考虑去官网找一个最新的社区版本。1.获取最新的Mysql版本在 https://...
ubuntu 16.04下mysql5.7.17开放远程3306端口

ubuntu 16.04下mysql5.7.17开放远程3306端口

开启MySQL的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法1、登陆mysqlmysql -u root -p2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可...
linux下mysql开启远程访问权限 防火墙开放3306端口

linux下mysql开启远程访问权限 防火墙开放3306端口

开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法1、登陆mysqlmysql -u root -p2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可...
MySQL远程连接不上的解决方法

MySQL远程连接不上的解决方法

之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服务器上又遇到这个问题,记录一下解决过程。1.排除网络或防火墙问题先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火墙。配置防火墙,开启3306端口vi /etc/sysconfig/iptables-A INPUT -m s...
使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '' for column 'createtime'的快速解决方法

使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '' for column 'createtime'的快速解决方法

我的MySQL安装后,保存删除表数据总是出现#1929 Incorrect datetime value: "" for column "createtime" 的报错提醒,导致不能删除表里数据;原因分析:5以上的版本如果时期时间是空值应该要写NULL;官方解释说:得知新版本mysql对空值插入有"bug",要在安装mysql的时候去除默认勾选的enable strict SQL mode那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的...
<< 1 2 3 4 5 6 7 8 9 10 >>