
mysql
文章平均质量分 77
本木生
这个作者很懒,什么都没留下…
展开
-
mysqldump中master-data和dump-slave的区别
本文转载自:http://blog.chinaunix.net/uid-451-id-3143431.html[mysql@db2 ~]$ mysqldump -A --master-data=2 > master2.sql[mysql@db2 ~]$ mysqldump -A --dump-slave=2 > slave2.sql[mysql@db2 ~]$ mysqldump -A...转载 2018-03-12 17:33:50 · 1870 阅读 · 0 评论 -
MySql错误处理
有几种错误处理的声明形式: 1 如果任何错误(不是 NOT FOUND ) , 设置 l_error 为 1 后继续执行: DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET l_error=1; 2 如果发生任何错误(不是 NOT FOUND), 执行 ROLLBACK和产生一条错误消息后退出当前块或存储过程。 DECLARE EXIT转载 2016-11-07 18:32:42 · 415 阅读 · 0 评论 -
mysqldump 只导出存储过程
需要注意:默认情况下,mysqldump并不会导出数据库的存储过程和函数,如果数据库上创建了存储过程且备份是需要备份存储过程,那就需要用参数 -R 来指定,例如: 代码如下复制代码root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql参数说明:-n:...原创 2016-08-23 13:09:08 · 10421 阅读 · 2 评论 -
MySQL 日志参数 介绍
1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.日志选项参数日志参数,默认没有日志打开,打开后日志的默认存储位置是数据目录。MySQL有以下几种日志类型:Log TypeInformation Written to LogError原创 2016-06-14 14:31:22 · 948 阅读 · 0 评论 -
mysql UNIX时间戳与日期的相互转换
UNIX时间戳转换为日期用函数: FROM_UNIXTIME()select FROM_UNIXTIME(1156219870);日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP()Select UNIX_TIMESTAMP(’2006-11-04 12:23:00′);例:mys转载 2016-09-21 10:12:37 · 1254 阅读 · 0 评论 -
RDS for MySQL 备份文件恢复到自建数据库
本文转载阿里云的异机恢复过程:全量:RDS for MySQL 备份文件恢复到自建数据库https://help.aliyun.com/knowledge_detail/41817.html增量:RDS for MySQL 本地时间点恢复https://help.aliyun.com/knowledge_detail/41738.html转载 2016-09-23 12:11:24 · 2607 阅读 · 0 评论 -
mysql的参数调优和方法
tmp_table_size:它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:mysql> show variables like "tmpdir";+---原创 2016-08-26 14:05:15 · 866 阅读 · 0 评论 -
mysql GTID Replication
一、GTID的概述:1、全局事物标识:global transaction identifieds。2、GTID事物是全局唯一性的,且一个事务对应一个GTID。3、一个GTID在一个服务器上只执行一次,避免重复执行导致数据混乱或者主从不一致。4、GTID用来代替classic的复制方法,不在使用binlog+pos开启复制。而是使用master_auto_posti转载 2016-09-06 16:48:29 · 426 阅读 · 0 评论 -
mysql binlog row格式查看
MySQL 5.1开始,binlog支持row-based的格式,默认情况下只能看到一些经过base-64编码的信息,如DELIMITER /*!*/;# at 7493962#090827 5:25:03 server id 1 end_log_pos 0 Start: binlog v 4, server v 5.1.26-rc-community-log created 09转载 2016-09-18 17:24:28 · 2099 阅读 · 0 评论 -
MySQL 对于千万级的大表要怎么优化
第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是sql语句是需要针对转载 2016-11-07 23:00:53 · 356 阅读 · 0 评论 -
如何使用redis做mysql的缓存
应用Redis实现数据的读写,同时利用队列处理器定时将数据写入MySQL。同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键。 这样处理,主要是实时读写redis,而mysql数据则通过队列异步处理,缓解mysql压力,不过这种方转载 2016-10-07 17:05:52 · 4119 阅读 · 0 评论 -
MySQL查看binlog日志
本文本转载自:http://blog.youkuaiyun.com/nuli888/article/details/52106910mysql的binlog日志位置可通过show variables like '%datadir%';查看,直接打开无法查看,要看其内容2个办法:1、登录到mysql查看binlog只查看第一个binlog文件的内容mysql> show binlog events;查看指...转载 2018-03-14 23:31:15 · 983 阅读 · 0 评论 -
mysql.sock文件被删除后,如何本地登录mysql的
socket文件消失后,本地登录mysql会报以下错误:[mysql@ceshi-redis-mysql mysql]$ mysql -uroot -pEnter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'原创 2017-06-30 15:49:58 · 4286 阅读 · 0 评论 -
通过 XtraBackup 实现不停机不锁表搭建MySQL主从同步
Xtrabackup是由 Percona 开发的一个开源软件,可实现对 InnoDB 的数据备份,支持在线热备份(备份时不影响数据读写)。备份时,Xtrabackup 会将 Master 的 binlog 信息记录在 xtrabackup_slave_info 文件中,通过此信息可以方便的搭建主从复制。XtraBackup 有两个工具:xtrabackup 和 innobackupex:转载 2017-06-30 17:22:12 · 955 阅读 · 0 评论 -
MySQL出现Waiting for table metadata lock的原因以及解决方法
MySQL在进行alter table等DDL操作时,有时会出现Waiting for table metadata lock的等待场景。而且,一旦alter table TableA的操作停滞在Waiting for table metadata lock的状态,后续对TableA的任何操作(包括读)都无法进行,因为他们也会在Opening tables的阶段进入到Waiting for t转载 2017-01-10 11:15:54 · 2338 阅读 · 0 评论 -
阿里云RDS(mysql)异机全量增量恢复
使用阿里云的RDS服务(也就是MySQL数据库)时,有时需要将其数据取出后拿到别的机器上使用,这就需要进行RDS的异机恢复。说明:本文恢复使用的机器环境为CentOS 6.5 x64。1. 获取备份下载地址RDS控制台 -> 备份恢复 -> 数据备份,选择需要下载的备份集,点击“下载”。点击“复制外网地址” 来获取备份的外网下原创 2016-12-01 18:58:45 · 3618 阅读 · 0 评论 -
mycat中文乱码-解决方案
乱码问题可能出现的三个地方1.程序连接的编码要设置jdbc:MySQL://192.168.1.1:8066/TESTDB?useUnicode=true&characterEncoding=utf82. mysql数据库的编码要设置1) 查看mysql server级别的编码集 首先进入mysql使用命转载 2017-01-09 14:13:09 · 1430 阅读 · 0 评论 -
mysq字段类型转换
1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,'0') 这样就会导致 a/b成了字符串,因此需要把'0'改成0,即可解决此困扰3.比较数字和varchar时,比如a原创 2016-12-19 14:20:30 · 415 阅读 · 0 评论 -
mysql如何取时间
select curdate()-2;select curdate()+2;如果格式上想要‘YYYY-MM-DD’可以使用select adddate(curdate(), '-2 days');select adddate(curdate(), '+2 days');select curdate() + INTERVAL -2 DAY ;select curdate() + INT原创 2016-09-06 17:04:03 · 2494 阅读 · 0 评论 -
MySQL多实例安装配置
1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.源码安装MySQL可以参考:linux 6.5下 MySQL 5.6 源码安装3.初始化一个新加的数据库实例(3306实例已存在)# mkdir /u01/mysql/data3307 #创建数据库数据目录原创 2016-12-02 18:21:24 · 465 阅读 · 0 评论 -
MySQL 备份恢复
1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.最简单的备份mysqldump -uroot -p --single-transaction --all-databases > backup.sql--single-transaction参数的使用是假设备份的表是innodb表原创 2016-07-06 17:27:46 · 431 阅读 · 0 评论 -
MySQL数据库负载很高的解决办法
一、应急解决办法在MySQL数据库连接数很多,而且大多属于活跃的状态时MySQL机器基本上负载很高,属于基本上快要死去的状态了. 这时怎么办呢?有可能两个办法.第一: 先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果 非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务. 处理方法: set转载 2016-09-01 15:22:25 · 15999 阅读 · 0 评论 -
MyCat:开源分布式数据库中间件
转载:http://www.youkuaiyun.com/article/2015-07-16/2825228为什么需要MyCat?虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情转载 2016-07-15 09:37:32 · 391 阅读 · 0 评论 -
linux 6.5下 MySQL 5.6 RPM安装
1.环境OS: CentOS 6.5 x642.准备MySQL RPM安装包打开网址:http://dev.mysql.com/downloads/mysql/会看到以下界面:最新的是5.7,我们要下载的是5.6,所以点击右边的Looking for previous GA versions?,会出现以下界面:Select Version: 选5原创 2016-06-09 21:20:11 · 6686 阅读 · 0 评论 -
MySQL 库 和 样例表 创建脚本
1.小表CREATE TABLE emp(empno smallint(4) not null, ename varchar(10), job varchar(9), mgr smallint(4), hiredate date, sal float(7, 2), comm float(7, 2), deptno tinyint(2)) engine=inn原创 2016-06-15 13:19:39 · 3244 阅读 · 0 评论 -
MySQL 显示SQL执行时间
1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.打开profiling打开profiling可以统计资源统计功能。mysql> set profiling=1; #打开profilingQuery OK, 0 rows affected, 1 warning (0.07 sec)原创 2016-06-15 13:27:49 · 792 阅读 · 0 评论 -
MySQL 将数据文件分布到不同的磁盘
为了提高IO性能,可以将不同的文件放在不同的磁盘。这里只说明InnoDB,MyISAM的修改方式。1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.InnoDBInnoDB指定数据文件的位置3.MyISAMmysql> SHOW VARIABL原创 2016-06-29 15:57:15 · 4165 阅读 · 0 评论 -
Atlas-sharding_1.0.1安装配置
1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.Atlas准备使用是支持分片的最新版本:Atlas-sharding_1.0.1,使用rpm包安装,下载地址:https://github.com/Qihoo360/Atlas/releases/想要看源码的可以看这里:https://github.com/Qi原创 2016-06-02 15:36:58 · 843 阅读 · 0 评论 -
MySQL 5.6 my.cnf 及其可配置项
1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.my.cnf文件介绍参数文件my.cnf存放各种选项参数,默认的读取顺序是/etc/my.cnf /etc/mysql/my.cnf /u01/mysql/etc/my.cnf ~/.my.cnf,mysql的执行程序运行需要的参数都可以放在这个文件,查看各执行程序的选项和读取my.cnf文件哪部分内容,可以通过在命令行运行该程序加--verbose --help的方式查看,例如,查看mysq原创 2016-06-10 18:23:59 · 1091 阅读 · 0 评论 -
MySQL SQL优化之 执行计划 explain
1.环境OS: CentOS 6.5 x64MySQL: 5.6 for Linux (x86_64)2.优化第一步拿到一个慢SQL时,第一步就是看执行计划并考虑是否可以加索引,就是这么简单,不要被高深莫测的人给蒙住说什么有更好的方法,告诉各位同学:没有更好的方法,看执行计划和考虑加索引就是最好的方法。然后才是考虑各种别的优化方案。3.SQL优化原创 2016-06-14 15:42:12 · 2117 阅读 · 0 评论 -
MySQL如何避免使用swap
Linux有很多很好的内存、IO调度机制,但是并不会适用于所有场景。对于DBA来说Linux比较让人头疼的一个地方是,它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上。对于频繁进行读写操作的系统而言,数据看似在内存而实际上在磁盘是非常糟糕的,响应时间的增长很可能直接拖垮整个系统。这篇blog主要讲讲我们作为DBA,怎样尽量避免MySQL惨遭swap的毒手。首先我转载 2016-07-27 11:19:38 · 815 阅读 · 0 评论 -
Mycat性能调优指南
本篇内容来自于网络JVM调优: 内存占用分两部分:java堆内存+直接内存映射(DirectBuffer占用),建议堆内存适度大小,直接映射内存尽可能大,两种一起占据操作系统的1/2-2/3的内存。 下面以服务器16G内存为例,Mycat堆内存4G,直接内存映射6G,JVM参数如下: -server -Xms4G –Xmx4G XX:MaxPermSize=64转载 2016-07-27 11:35:32 · 13816 阅读 · 1 评论 -
Mysql InnoDB锁
Mysql常用存储引擎的锁机制MyISAM和MEMORY采用表级锁(table-level locking)BDB采用页面锁(page-leve locking)或表级锁,默认为页面锁InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁各种锁特点表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生冲突的概率最高,并发度最低转载 2016-08-22 21:46:00 · 343 阅读 · 0 评论 -
pt-query-digest安装使用
1.安装yum install perl-DBIrpm -ivh MySQL-shared-compat-5.6.31-1.el6.x86_64.rpmyum install perl-DBD-MySQLyum install perl-IO-Socket-SSLyum install perl-Time-HiResrpm -ivh perl-TermReadKey-2.3原创 2016-08-29 18:19:25 · 3982 阅读 · 0 评论 -
mysql常用的hint
对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。强制索引 FORCE INDEX SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的索引。转载 2016-08-29 18:10:25 · 1376 阅读 · 1 评论 -
MySQL数据库表修复 MyISAM
一:MySQL中MyISAM表损坏原因总结:1、 服务器突然断电导致数据文件损坏;强制关机,没有先关闭mysql 服务;mysqld 进程在写表时被杀掉。2、 磁盘损坏。3、 服务器死机。4、 mysql 本身的bug 。二:MySQL中MyISAM表损坏的症状总结:1 、查询数据时报出错误:Incorrect key file for table: '...'. Try转载 2016-08-29 10:49:19 · 531 阅读 · 0 评论 -
MySQL分布式集群之MyCAT
本文转自系列文章,感谢原作者:MySQL分布式集群之MyCAT(一)简介(修正) :http://blog.itpub.net/29510932/viewspace-1664499/MySQL分布式集群之MyCAT(二)schema详解(修正):http://blog.itpub.net/29510932/viewspace-1667814/MySQL分布式集群之MyCAT(三)rul转载 2016-07-15 16:22:55 · 3482 阅读 · 13 评论 -
MySQL 生产环境 参数 配置
1.lower_case_table_names #表名 表别名 数据库名 大小写是否敏感0:以实际指定大小写存储,以区分大小比较,就是大小写敏感,Linux默认值1:以小写存储,以不区分大小比较,就是大小写不敏感2:以实际指定大小写存储,以小写比较,也算大小写不敏感只读变量,修改需要重启。如果有主从,那么主和从的这个参数一定要配置成一样的。例:在lower_c原创 2016-06-17 10:35:59 · 1666 阅读 · 0 评论 -
MyCAT-1.4-RC性能测试(初步施工)
文章转载自:http://blog.itpub.net/29510932/viewspace-1717783/测试环境:虚拟机主库:CPU:Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz,逻辑核心8个内存:32GB硬盘:250G从库:CPU:Intel(R) Xeon(R) CPU E5-2630 v3 @ 2转载 2016-07-17 18:14:20 · 477 阅读 · 0 评论 -
MyCAT-1.4-RC基准测试
文章转载自:http://blog.itpub.net/29510932/viewspace-1726924 测试环境采用虚拟机的方式进行,虚拟机的配置如下: 主库: CPU:Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz,逻辑核心8个 内存:32GB转载 2016-07-17 14:22:56 · 454 阅读 · 0 评论