mysql
文章平均质量分 77
ora600
这个作者很懒,什么都没留下…
展开
-
51ak带你看MYSQL5.7源码4:实现SQL黑名单功能
上一篇我们实现了,屏掉了MYSQL的DELTE语句的执行功能。想了想这种改动太暴力了,不够优雅现在我们要改变一下思路,做一个MYSQL的黑名单功能。什么叫黑名单呢?就是说属于屏掉在带黑名单里的关键字的SQL的执行举例来说,我们发现有个上线故障,导致有大量的SQL在查一个表 SELECT * FROM A WHERE …我们设置个黑名单: SELECT * FROM A那么所有这种查询将不执行,直接返回,这对线上服务的快速缓解问题是有很大帮助的。现在我们来尝试在源码上定制这转载 2021-05-15 20:36:39 · 350 阅读 · 0 评论 -
Windows下更改MySQL数据库的存储位置
在mysql安装完成后,要修改数据库存储的位置,比如从安装目录下的C:\Program Files\MySQL\MySQL Server 5.0\Data文件夹转移到D:\mySQLData文件夹。1、在D:\下新建mySQLData文件夹2、停止MySQL服务,将C:\Program Files\MySQL\MySQL Server 5.0\Data下的文件夹和文件一起拷贝到D:\myS原创 2012-11-28 13:53:23 · 42189 阅读 · 5 评论 -
MySQLdump增量备份、完全备份与恢复
如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态,本篇文章主要讲述mysqldump增量备份、完全备份与恢复的具体说明AD: 在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。场景:每周日执行一次完全备份,每天下午1点执行MySQLdu转载 2012-11-29 09:28:13 · 4236 阅读 · 0 评论 -
linux mysql 操作命令
1.linux下启动mysql的命令:mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启mysql的命令:mysqladmin restart/ect/init.d/mysql restart (前面为mysql的安装路径)3.linux下关闭mysql的命令:mysqladmin shut原创 2012-11-29 10:05:14 · 386 阅读 · 0 评论 -
用mysqldump备份及结合binlog日志恢复的全过程
1、查看更新备份时的数据mysql> select * from t1;+------+| id |+------+| 1 || 2 || 3 |+------+ 2、因为我的存储引擎是Myisam ,为了保证数据的一直我加了参数 –l 备份时不能对数据更新,如果是innodb引擎加参数 –single-transcation 即能保证转载 2012-11-29 10:08:32 · 693 阅读 · 0 评论 -
mysql构建表格
test.htm为监控页面echo 'Report for Data Server Disks'> test.htm ---添加表头 mysql -e "select '',date,'','',sum_ip,'','',ip,'' from test.sum_ip order by sum_ip desc" >>'/opt/htdocs/www/test.htm' 表体内原创 2012-11-30 09:23:42 · 567 阅读 · 0 评论 -
mysql命令
[root@dd]mysqlshow +--------------------+| Databases |+--------------------+| information_schema || abc || mysql || performance_schema || test原创 2012-12-05 15:19:59 · 641 阅读 · 0 评论 -
mysql的数据恢复
数据库数据被误删除是经常看到的事情,数据的恢复也就自然成为了DBA很重要的一门基本功夫,比较笨拙的办法是拉出历史的备份到另外的一台机器恢复出来,但是这种方法如果数据量比较大的话,往往会耗费较长的时间,以前在使用oracle的时候,提供了很多数据恢复的办法,常用的办法就是采用闪回flashback,或者通过logmnr在分析日志完成数据的恢复,但是在mysql中,数据的恢复变成了很困难的一件事情。转载 2012-12-26 13:07:02 · 404 阅读 · 0 评论 -
mysql explain 中key_len的计算
今天丁原问我mysql执行计划中的key_len是怎么计算得到的,当时还没有注意,在高性能的那本书讲到过这个值的计算,但是自己看执行计划的时候一直都没有太在意这个值,更不用说深讨这个值的计算了:ken_len表示索引使用的字节数,根据这个值,就可以判断索引使用情况,特别是在组合索引的时候,判断所有的索引字段都被查询用到。在查看官方文档的时候,也没有发现详细的key_len的计算介绍,后来做转载 2012-12-26 12:56:14 · 4432 阅读 · 0 评论 -
MySQL简单操作之alter table改变表的结构
MySQL之alter语句用法总结1:删除列ALTER TABLE 【表名字】 DROP 【列名称】2:增加列ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL COMMENT '注释说明'3:修改列的类型信息ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT转载 2012-12-26 12:56:53 · 588 阅读 · 0 评论 -
MySQL 4个timeout参数说明
4个timeout都是为了防止某一个链接长时间占用一数据库的描述符,又不干事情,或者网络有问题没有释放这个描述符,线程阻塞种种资源浪费的情况.我们要主动的"卡"掉对端!首先看看这4个timeout在mysql5.1手册里的英文解释:connect_timeout The number of seconds that the mysqld server waits for a con转载 2012-12-19 09:41:13 · 564 阅读 · 0 评论 -
mysql password和md5函数
mysql> update user_auth set password=md5("123456") where id='1';Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges ;Query OK, 0 rows affected (0原创 2013-01-09 09:59:26 · 3303 阅读 · 0 评论 -
删除MYSQl BIN-LOG 日志
1.查找当前有哪些二进制日志文件:mysql> show binary logs;+------------------+-----------+| Log_name | File_size |+------------------+-----------+| mysql-bin.000001 | 1357315 | | mysql-bin.000002转载 2013-01-17 13:22:57 · 1524 阅读 · 0 评论 -
删除特殊字符.的数据库
删除特殊字符的数据库mysql> show databases;+--------------------+| Database |+--------------------+| information_schema | | ichaoxing.com | | mysql | | performance_sch原创 2013-02-20 09:52:02 · 2839 阅读 · 0 评论 -
mysqlbinlog备库上的备份恢复
mysqlbinlog完全恢复必用命令:[root@dd]mysqlbinlog --helpmysqlbinlog Ver 3.2 for redhat-linux-gnu at i686By Monty and Sasha, for your professional useThis software comes with NO WARRANTY: This is free原创 2013-02-20 13:42:24 · 969 阅读 · 0 评论 -
mysql数据库备份及恢复命令mysqldump,source的用法
还原一个数据库:mysql -h localhost -u root -p123456 www 备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql //以下是在程序中进行测试 //$command = "mysqldump --opt -h $dbhost -u $dbuser转载 2013-02-20 09:23:10 · 657 阅读 · 0 评论 -
单机安装多个mysql
单机mysql测试主从复制 cd /tools/mysql-5.5.15./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/opt/mydata01 # The following options will be passed to all MySQL clients原创 2013-02-20 10:37:26 · 567 阅读 · 0 评论 -
MYSQL强制使用索引和禁止使用索引
mysql强制索引和禁止某个索引1、mysql强制使用索引:force index(索引名或者主键PRI)例如:select * from table force index(PRI) limit 2;(强制使用主键)select * from table force index(ziduan1_index) limit 2;(强制使用索引"ziduan1_index")sel转载 2013-02-20 12:13:24 · 15710 阅读 · 0 评论 -
linux软连接和硬链接
一 链接文件 链接有两种方式,软链接和硬链接。 1 软链接文件 软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。 链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。 用ln -s 命令可以生成一个软连接,转载 2013-02-21 13:37:40 · 473 阅读 · 0 评论 -
MySql中delimiter的作用是什么?
这个命令与存储过程没什么关系吧。其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。如输入下面的语句mysql> select * from test_table;然后回车,那么MySQL将立即执行该语句。但有时候,不希望转载 2013-03-07 13:43:13 · 593 阅读 · 0 评论 -
利用tcpcopy引流做模拟在线测试
一、工具介绍 Tcpcopy 是一个分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现 bug,增加上线信心。 Tcpcopy 是由网易技术部于 2011 年 9 月开源的一个项目,现在已经更新到0.4版本。 与传统的压力测试工具(如:abench)相比,tcpco转载 2013-02-26 16:39:43 · 659 阅读 · 0 评论 -
MySQL binlog_format (Mixed,Statement,Row)
MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别转载 2013-02-27 11:37:43 · 10263 阅读 · 3 评论 -
nagios监控内网mysql主从同步
公司为了节俭,采用一台机器安装多个mysql来同步其他mysql数据服务器,这样监控主从同步就成为问题,幸好有nagios监控首先是mysql从库创建nagios监控脚本[vim /usr/local/nagios/libexec/check_mysql_slave#!/bin/bashdeclare -a slave_statusslave_status=($(mysql原创 2013-02-26 14:16:18 · 1021 阅读 · 0 评论 -
tcpcopy,mysql模拟在线压力测试的好帮手
tcpcopy是一个基于底层的应用请求复制(所有基于tcp的packets)开源项目,可用于替代ab做在线模拟压力测试,可转发各种在线请求到测试服务器上,进行较为详尽的近乎实际的测试,从而避免了新业务、系统上线带来的潜在问题。 tcpcopy的四大功能: 1)分布式压力测试,将多个前段请求集中到某个后端进行压力测试2)上线前测试,检验新系统可靠性,提前发现潜在问题3)对比测转载 2013-02-26 16:02:39 · 1217 阅读 · 0 评论 -
MySQL复制 二进制日志
二进制日志的结构从概念上讲,二进制日志是一系列二进制日志事件。它包括一系列的binlog文件和一个binlog索引文件,当前服务器正在写入的binlog文件称之为active binlog。其文件名是通过配置文件中的log-bin和log-bin-index来定义的。每个binlog文件是由若干binlog事件组成,以Format_description事件开始,以Rotate事件作为文件转载 2013-02-27 12:03:49 · 734 阅读 · 0 评论 -
mysql MYISAM引擎子分区分散IO.sql
mkdir -p /disk1/datamkdir -p /disk2/datamkdir -p /disk3/datamkdir -p /disk4/datamkdir -p /disk5/datamkdir -p /disk6/datamkdir -p /disk7/datamkdir -p /disk8/datamkdir -p /disk9/datamk原创 2013-02-26 13:59:30 · 1052 阅读 · 0 评论 -
mysql5.5半同步主从复制
安装环境:centos5.7 32位 虚拟机2台分别安装了mysql5.5.16主库ip:192.168.1.100从库ip:192.168.1.101mysql安装目录:/usr/local/mysql1.mysql配置主从复制主库编辑my.cnf:[mysqld]log-bin=NEW_NAMEserver-id=1 #配一个唯一的ID编号,1至32。转载 2013-02-28 10:19:49 · 504 阅读 · 0 评论 -
MySQL Source-Configuration Options
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html#option_cmake_storage_engine_options2.9.4. MySQL Source-Configuration OptionsThe CMake program provides a grea原创 2013-02-28 16:49:10 · 1479 阅读 · 0 评论 -
mysql主键的缺少导致备库hang (备库重启不自动同步skip-slave-start)
最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的稳定性,也希望通过这篇博客,来加深主键在innodb引擎中的重要性,希望用户在使用RDS,设计自己的表的时候,一定要为表加上主键,主键可以认为是innodb存储引擎的生命,下面我们就来分析一下这个案例转载 2013-02-27 11:40:38 · 4952 阅读 · 2 评论 -
mysql5.5 semi-sync安装维护
author:skatetime:2013/01/10mysql5.5 semi-sync replication 安装维护http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.htmlmysql的replication协议是异步的,虽然异步效率、性能很好,但是却无法保证主从数据一致性(如果master cras转载 2013-02-28 10:31:40 · 448 阅读 · 0 评论 -
MySQL日期时间函数大全
DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WEEKDAY('1997-10-04转载 2013-02-28 13:30:31 · 329 阅读 · 0 评论 -
MYSQL 链接远程的FEDERATED引擎链接表(类似ORACLE的DBLINK)
MYSQL 链接远程的链接表(类似ORACLE的DBLINK)关于链接表远程表:CREATE TABLE IF NOTEXISTS `category` ( `id` int(11) NOTNULLAUTO_INCREMENT, `category_id`int(11) NOTNULL, `name`varchar(20) NOTNULL, PRIMARYKEY(`id`)原创 2013-02-28 15:15:21 · 811 阅读 · 0 评论 -
MySQL 设置数据按条件查询下的序号
一张表:mytable 有如下数据: 现在要增加一列 序号,用于表示每行记录按类型、个数降序排列时的序号。 先按照 ftype 和 fnum 排序: select *from mytable order by ftype asc,fnum asc 再查出当前排序下的每行的序号:SELECT a.*,(@rownum:=转载 2013-02-28 16:19:13 · 634 阅读 · 0 评论 -
mysql更两列互换新
---------有where条件的更新,DDL不适用mysql> select * from t001;+------+-------+-------+| id | name1 | name2 |+------+-------+-------+| 1 | a1 | b1 | | 2 | a2 | b2 | +------+---原创 2013-03-04 11:22:47 · 1658 阅读 · 0 评论 -
mysql安全删除大表
如果mysql数据库存在大表,占用存贮500G以上,这时候执行drop table 很有风险的 【问题隐患】由于业务需求不断变化,可能在DB中存在超大表占用空间或影响性能;对这些表的处理操作,容易造成mysql性能急剧下降,IO性能占用严重等。先前有在生产库drop table造成服务不可用;rm 大文件造成io跑满,引发应用容灾;对大表的操作越轻柔越好【解决办法】1.通过原创 2013-03-29 14:12:32 · 919 阅读 · 0 评论 -
oracle访问mysql
官网下载unixODBC ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.1.tar.gz官网下载 mysql-connector-odbc-5.1.12-src.tar.gz[root@dd] tar zxvf unixODBC-2.3.1.tar.gz[root@dd]cd unixODBC-2.3.1[root@dd]./c原创 2013-03-16 18:25:36 · 3236 阅读 · 0 评论 -
sql取每组前N行数据
mysql环境表的信息结构mysql> select * from test02;+------+------+-----+| id | name | num |+------+------+-----+| 1 | a4 | 4 | | 1 | a1 | 2 | | 1 | a2 | 2 | | 1 | a3原创 2013-03-07 09:39:43 · 1245 阅读 · 0 评论 -
mysql读写分离的实现
MySQL-Proxy的读写分离主要是通过rw-splitting.lua脚本实现的,因此需要安装lua。lua可通过以下方式获得从http://www.lua.org/download.html下载源码包从rpm.pbone.net搜索相关的rpm包download.fedora.redhat.com/pub/fedora/epel/5/i386/lua-5.1.4-4.el5.原创 2013-03-21 15:54:04 · 817 阅读 · 0 评论 -
MySQL存储过程中的3种循环
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环。还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体介绍了。这几个循环语句的格式如下:WHILE……DO……END WHILEREPEAT……UNTIL END REPEATLOOP……END LOOPGOTO。 下转载 2013-03-25 10:44:07 · 514 阅读 · 0 评论 -
mysql自定义函数(貌似处理页码)
T1表内容name-----------------------------1-3,8,10-124,5,61,3-5,1441-7,9要转换为 --------------------------------------------------------------------------------CREATE FUNCTION myFunct原创 2013-03-25 10:06:50 · 571 阅读 · 0 评论