MYSQL
文章平均质量分 62
crazyhacking
like a hacker
展开
-
mysql迁移-----拷贝mysql目录/load data/mysqldump/into outfile
摘要;本文简单介绍了mysql的三种备份,并解答了有一些实际备份中会遇到的问题。备份恢复有三种(除了用从库做备份之外), 直接拷贝文件,load data 和 mysqldump命令。少量数据使用mysqldump命令,存储的是SQL语句,比较通用,但是也会遇到版本兼容性问题。整个数据库迁移使用拷贝文件的方式0 使用工具 xtrabackup1 直接拷贝文件(这个速原创 2013-10-30 14:57:47 · 5118 阅读 · 0 评论 -
mysql----快速删除数据表(drop,truncate.delete)
概念:三者均可删除数据表TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的转载 2014-03-20 17:05:38 · 27069 阅读 · 0 评论 -
mysql优化----第一篇:综述
一 系统层面 查看CPU和IO状态,确定瓶颈。增更换设备二 数据库层面1 参数优化。参考文章《mysql性能优化----调整参数》增大数据库内存缓存等设置。参考 http://imysql.cn/node/6092 表结构优化。减少大表,大表分为小表。从而使热点数据更好找到。mysql性能优化----调整参数三 SQL操作优化减少u原创 2013-12-16 18:22:12 · 1037 阅读 · 0 评论 -
mysql优化---第7篇:参数 innodb_buffer_pool_instances设置
摘要:1 innodb_buffer_pool_instances可以开启多个内存缓冲池,把需要缓冲的数据hash到不同的缓冲池中,这样可以并行的内存读写。2 innodb_buffer_pool_instances 参数显著的影响测试结果,特别是非常高的 I/O 负载时。3 实验环境下, innodb_buffer_pool_instances=8 在很小的 buffer_pool转载 2014-03-05 15:41:20 · 48654 阅读 · 0 评论 -
mysql优化------2 查看系统性能(表大小,I/o性能)
三:判断mysql I/0 性能的一种方式(网络搜集供参考)show global status like 'innodb_dblwr%'\G 如果innodb_dblwr_pages_writen/innodb_dblwr_writes远小于64:1,说明磁盘写入压力不高 show engine innodb status\G 查看缓冲池的方法。 sel转载 2013-09-26 15:54:48 · 3069 阅读 · 0 评论 -
MYSQL同步--主从同步问题集锦
1 同步停止,报错误: Could not find first log file name in binary log index file数据库主从出错: Slave_IO_Running: No 一方面原因是因为网络通信的问题也有可能是日志读取错误的问题。以下是日志出错问题的解决方案: Last_IO_Error: Got f转载 2014-02-17 14:07:44 · 983 阅读 · 0 评论 -
mysql基础---日志文件
一 基本日志文件MYSQL有不同类型的日志文件(各自存储了不同类型的日志),从它们当中可以查询到MYSQL里都做了些什么,对于MYSQL的管理工作,这些日志文件是不可缺少的。1.错误日志(The error log):记录了数据库启动、运行以及停止过程中错误信息;2.ISAM操作日志(The isam log):记录了所有对ISAM表的修改,该日志仅仅用于调试ISAM模转载 2014-03-07 20:02:46 · 2152 阅读 · 0 评论 -
mysql的一些特殊命令
mysql命令行工具的编辑技巧从mysql performace blog 中学到的:1. pager例子mysql> pager morePAGER set to 'more'mysql>show variables;然后就使用more命令来显示“show variables”的输出根据我的理解, pager之后可以跟任何shell命令来编辑转载 2014-03-07 16:41:10 · 990 阅读 · 0 评论 -
mysql优化---优化工具MySQL performance tuning primer script
MySQL performance tuning primer script一个简单好用的mysql优化工具,其实一个shell脚本下载:$ wget http://www.day32.com/MySQL/tuning-primer.sh运行$ sh tuning-primer.sh all运行以后会询问mysql用户名好密码最好提供mysql的,还会询问是转载 2014-03-05 16:14:31 · 1731 阅读 · 0 评论 -
图解SQL的各种连接join
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams解释了SQL的Join。我觉得清楚易懂,转过来。假设我们有两张表,Tab转载 2014-05-07 12:07:28 · 1400 阅读 · 0 评论 -
mysql安装使用----1 安装和启动
1 安装 Fedora16/17 Mysql 安装及配置1.安装 Mysql Server# yum install mysql mysql-server2.开启 MySQL server 及开机启动 MySQL# systemctl start mysqld.service # systemctl enable mysqld.serviceln -s '/转载 2013-07-24 11:52:38 · 2384 阅读 · 0 评论 -
mysql优化———第二篇:数据库优化调整参数
摘要参数调优内容: 1. 内存利用方面 2. 日值控制方面 3. 文件IO分配,空间占用方面 4. 其它相关参数1. 内存利用方面(1)innodb_buffer_pool_size . 这个参数主要缓存innodb表的索引,数据,插入数据时的缓冲。为Innodb加速优化首要参数。 最重要的参数转载 2013-12-05 10:44:25 · 8775 阅读 · 0 评论 -
数据库备份概念和理论
(1)备份的概念数据库备份不同于数据库从库,一般zhi原创 2014-07-09 21:28:11 · 1273 阅读 · 0 评论 -
ibdata1文件--缩小mysql数据库的ibdata1文件
缩小mysql数据库的ibdata1文件转载 2014-07-09 21:18:29 · 1003 阅读 · 0 评论 -
sql语句之字符串匹配like
1 % 包含零个或更多字符的任意字符串 示例:WHERE title LIKE '%computer% ' 将查找处于书名任意位置的包含单词 computer 的所有书名。 2 _(下划线) 任何单个字符 示例:WHERE au_fname LIKE '_ean ' 将查找以 ean转载 2014-05-29 14:55:08 · 24400 阅读 · 0 评论 -
show engine innodb status 详解
很多人让我来阐述一下 SHOW INNODB STATUS 的输出信息, 了解 SHOW INNODB STATUS 都输出了些什么信息,并且我们能从这些信息中获取什么资讯,得以提高 MySQL 性能。首先,让我们来了解一下 SHOW INNODB STATUS 输出的基础,它打印了很多关于 InnoDB 内部性能相关的计数器、统计、事务处理信息等。在 MySQL 5 中,InnoDB 的转载 2014-07-01 16:54:14 · 10714 阅读 · 0 评论 -
mysql 索引对于select速度提升作用实验
mysql> select count(*) from News where is_active=1;+----------+| count(*) |+----------+| 7820331 |+----------+1 row in set (19.14 sec)mysql> select count(*) from News where is_activ原创 2014-06-26 10:35:20 · 986 阅读 · 0 评论 -
mysql查询的cache
Mysql SQL_NO_CACHE不生效的问题贾春春1 票1224我想通过SQL_NO_CACHE得知某个query查询速度,但似乎无法实现例如首次查询:mysql> select count(*) from users where email = 'hello';+----转载 2014-06-24 20:18:06 · 898 阅读 · 0 评论 -
mysql安装使用--2 用户管理
1 修改mysql.user表添加用户mysql> INSERT INTO mysql.user (Host,User,Password) VALUES (\'%\',\'system\', PASSWORD(\'manager\'));mysql> FLUSH PRIVILEGES2 create 和 grant命令省略 3 user表内容原创 2014-03-27 11:25:06 · 728 阅读 · 0 评论 -
mysql优化---优化sql
一、通过show status和应用特点了解各种SQL的执行频率通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得。SHOW STATUS可以根据需要显示session级别的统计结果和global级别的统计结果。以下几个参数对Myisam和Innodb存储引擎都计数:1.Com_select 执行select操转载 2014-03-07 10:49:52 · 984 阅读 · 0 评论 -
mysql管理 ------查看 MySQL 数据库中每个表占用的空间大小
如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:TABLE_SCHEMA : 数据库名TABLE_NAME:表名ENGINE:所使用的存储引擎TABLES_ROWS:记录数DATA_LENGTH:数据大小INDEX_LENGTH:索转载 2013-11-08 14:02:08 · 1295 阅读 · 0 评论 -
数据库的伸缩性
我主要来回顾一些一个慢慢变大的互联网应用如何应对数据库这一层的伸缩。首先刚开始,人不多,压力也不大,搞一台数据库服务器就搞定了,此时所有的东东都塞进一个Server里,包括web server,app server,db server,但是随着人越来越多,系统压力越来越多,这个时候可能你把web server,app server和db server分离了,好歹这样可以应付一阵子,但是随着转载 2014-01-27 18:06:54 · 3231 阅读 · 1 评论 -
MySql存储过程—7、游标(Cursor)
|字号 订阅1、游标的作用及属性游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作;游标有下面这些属性: a、游标是只读的,也就是不能更新它; b、游标是不能滚动的,也就是只能在一个方向上进行遍历,不能在记录之间随意进退,不能跳过某些记录; c、避免在已经打开游标的表上更新数据。2、如转载 2013-10-18 15:18:25 · 1104 阅读 · 0 评论 -
python mysql 2014 Commands out of sync; you can't run this command now
这个问题出现再 mysql和c 的api。问题原因:Mysql文档:Commands out of syncIf you get Commands out of sync; you can't run this command now in your client code, you are calling client functions in the wrong orde转载 2013-10-16 17:24:32 · 7383 阅读 · 0 评论 -
mysql 千万量级的表的优化
一 大的优化方向: 数据结构优化,慢查询优化,索引优化,mysql参数设置优化数据结构优化:先读写分离、再垂直拆分、再水平拆分!说3点1. 设计合适的索引,基于主键的查找,上亿数据也是很快的;2. 反范式化设计,以空间换时间,避免join,有些join操作可以在用代码实现,没必要用数据库来实现;3. buffer,尽量让内存大于数据.原创 2013-09-25 17:03:45 · 3205 阅读 · 0 评论 -
MYSQL 主从服务器配置工作原理
一、 主从配置的原理:Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个Mysql instance(我们称之 Slave)。在 Master 与 Slave之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Ma转载 2013-09-26 19:57:32 · 813 阅读 · 0 评论 -
mysql 大树据表update很慢
问题描述:数据表千万量级,update where gid="adadfadsfasdf",返回结果显示耗时70ms到1s之间分析:表很大,那么update,可能先要取索引,再取页面,但是即使都是磁盘操作,每次磁盘操作耗费5ms,大概花费20,30ms足矣所以时间肯定是花在io等待上了。使用 iostat -x -d 1 3 显示等待时间几十毫秒所以时间原创 2013-09-22 18:38:13 · 1966 阅读 · 0 评论 -
mysql----ERROR 1040 (HY000): Too many connections
http://gwokae.mewggle.com/wordpress/index.php/archives/683转载 2013-09-18 17:07:56 · 1939 阅读 · 0 评论 -
mysql问题: alter导致速度慢
1 如何并行执行。数据库里有一个数据量非常大的表,当对这个表进行alter的时候,这时候该表是只读的,由于数据量很大alter时间很长,如果这时候有insert或update操作,有什么办法在这期间可以进行insert或update操作?MySQL在被alter时是可以insert和update的,但是操作会被延迟。以下我引用MySQL官网的解释:*“ALTER TABLE转载 2013-08-15 15:57:19 · 8435 阅读 · 0 评论 -
MySQL的mysql_insert_id和LAST_INSERT_ID
使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值MySQL数据表结构中,一般情况下,都会定义一个具有‘AUTO_INCREMENT’扩展属性的‘ID’字段,以确保数据表的每一条记录都可以用这个ID唯一确定;随着数据的不断扩张,为了提高数据库查询性能,降低查询热点,一般都会把一张表按照一定的规则分成多张数据表,即常说的分表;分表除了表名的索引不同之外,转载 2013-08-13 11:42:19 · 16683 阅读 · 3 评论 -
mysql基础-- 一条请求执行多条SQL语句
最近做一个数据库初始化工具的时候发现了这个问题,就是在一个Statement中执行一条SQL语句的时候可以正确执行,如果同时执行多条,就会报SQL语法错误,伤透了脑筋。 经过网上查找,发现有两种解决办法: 1、最简单的办法,在MySQL的连接字符串中设置allowMultiQueries参数置为true。 2、在程序中对SQL语句以分号拆分成多条SQL语句,然后使用Statement的addB转载 2013-11-06 19:27:07 · 6359 阅读 · 0 评论 -
mysql trouble shooting---- 从库停止同步lock_wait_timeout_exceeded_try_restarting_transaction
问题描述:数据库从库停止同步。问题分析:show slave status\G;(也可使用show full processlist)显示 某个update语句出错,Lock wait timeout exceeded; try restarting transaction; 原因是这条语句提交的时候超时堵塞。原因在于另外的一个操作开启了事务,锁定了相应的数据,导致这条原创 2013-11-05 12:18:23 · 8147 阅读 · 1 评论 -
mysql管理----状态参数释义
下面是数据库MySQL优化的一些步骤一、通过show status和应用特点了解各种SQL的执行频率通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得。SHOW STATUS可以根据需要显示session级别的统计结果和global级别的统计结果。以下几个参数对Myisam和Innodb存储引擎都计数转载 2013-12-05 15:05:13 · 979 阅读 · 0 评论 -
mysql---事务
MYSQL--事务处理事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! 删除的SQL语句delete from userinfo where ~~~de转载 2013-12-04 20:05:44 · 808 阅读 · 0 评论 -
mysql 数据库 切表的脚本
#!/bin/shhost=$1port=$2host=${host:="localhost"}port=${port:="3306"}schema=$3echo $host, $port, $schema#sleep 15echo "=====bre2.0 archive tables ...."date "+%F %T"dater=`date转载 2013-10-12 12:04:18 · 2753 阅读 · 0 评论 -
MYSQL管理----数据库删除恢复
待添加转载 2013-12-10 11:50:34 · 1195 阅读 · 0 评论 -
mysql之SQL---存储过程
1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不转载 2013-12-09 19:44:16 · 858 阅读 · 0 评论 -
mysql管理---表分区
一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。 二、为什么要对表进行分区为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率。分区的一些优点包括:转载 2013-11-11 15:04:13 · 1116 阅读 · 0 评论 -
Mysql中Insert into xxx on duplicate key update问题
要点:Insert into xxx on duplicate key update可以在唯一索引重复的情况下,进行更新操作。 (1) 插入里边的字段应该只有一个 唯一索引; (2)多行插入用values(value) 在看代码的过程中碰到了这一用法,不太理解,google了一下。它的意义其实是如果在insert语句末尾制定了on dupl转载 2013-09-26 15:58:30 · 2702 阅读 · 0 评论 -
mysql 之SQL语句--NSERT SELECT ON DUPLICATE KEY UPDATE的写法
Table source CREATE TABLE `source` ( `key` int(11) NOT NULL AUTO_INCREMENT, `data` int(11) DEFAULT NULL, `state` int(11) DEFAULT NULL, `group` int(11) DEFAULT NULL, PRIMARY KEY (`key`)转载 2013-10-17 14:56:39 · 4095 阅读 · 0 评论