
Mysql数据库技术
文章平均质量分 57
guoguo1980
这个作者很懒,什么都没留下…
展开
-
PHP与MySQL开发中页面乱码的产生与解决
一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存。要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码:1、文件编码:指的是页面文件(.html,.php等)本身是以何种编码来保存的。记事本转载 2006-10-19 11:47:00 · 942 阅读 · 0 评论 -
在MySQL中如何为连接添加索引
我先通过一个简单的例子说明在MySQL中如何为连接添加索引,然后再看一个有挑战性的例子。 简单的3个表的连接 表结构很简单,3个表tblA, tblB, tblC,每个表有3个字段:col1, col2, col3。 在没有索引的情况下连接3个表 SELECT * FROM tblA, tblB, tblC WHERE tblA.col1 = tblB.col1 AND tblA.col2 = t转载 2008-02-10 02:42:00 · 2869 阅读 · 0 评论 -
Mysql查询优化器浅析
1 定义 Mysql查询优化器的工作是为查询语句选择合适的执行路径。查询优化器的代码一般是经常变动的,这和存储引擎不太一样。因此,需要理解最新版本的查询优化器是如何组织的,请参考相应的源代码。整体而言,优化器有很多相同性,对mysql一个版本的优化器做到整体掌握,理解起mysql新版本以及其他数据库的优化器都是类似的。 优化器会对查询语句进行转化,转化等价的查询语句。举个例子,优化器转载 2008-02-12 03:47:00 · 1030 阅读 · 0 评论 -
有关MYSQLDUMP的详细解释
早上朋友问这个问题,我就把这些选项详细整理一下,偶会随时更新的。前提: 使用mysqldump的用户,必须至少具有SELECT 和 LOCK TABLES的权限。库或者表。如果要使用--tab开关,还必须有FILE的权限准备工作:库以及表:Table Create Table ------ -------------转载 2008-02-12 06:37:00 · 1767 阅读 · 0 评论 -
Linux+Apache+Mysql+PHP典型配置
Linux+Apache+Mysql+PHP典型配置版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明http://www.5ilinux.com/lamp01.html关键字:apache+mysql+php apache mysql php 配置 lamp 服务器 web Linux+Apache+Mysql+PHP典型配置 调试环境:Red原创 2008-04-12 02:28:00 · 1414 阅读 · 0 评论 -
MySQL主从服务器配置
LAST_INSERT_ID() A为主机,B为备份机, 同为双网卡,而且可以通过内网相连A 内网IP : 192.168.195.28B 内网IP : 192.168.195.30数据库版本(5.0.22),目录,初始的库,表 两台机器是一样的需要备份的库 ad_data , alexa_info , log_db , oblog , union_db , zm0061_db不原创 2008-04-29 18:09:00 · 1605 阅读 · 0 评论 -
实现两个Mysql数据库之间的主从同步
一、 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步、主从模式、互相备份模式的功能。本文档主要阐述了如何在linux系统中利用mysql的replication进行双机热备的配置。二、 环境操作系统:Linux 2.6.23.1-42.fc8 # SMP(不安装XEN)Mysql版本:5.0.45原创 2008-04-29 18:03:00 · 52305 阅读 · 1 评论 -
为什么会存在using filesort
当使用explain分析SQL时常常会遇到extra的其中一值为using filesort,如: PRIMARY KEY (`id`), KEY `uid` (`uid`) explain select * from t_talbe where uid=1 order by id; extra结果为:Using where; Using filesort 手册转载 2008-07-16 11:33:00 · 3992 阅读 · 0 评论 -
msql数据库优化设置
同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 安装好mysql后,配制文件应该在 /usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-med转载 2008-05-10 23:30:00 · 1425 阅读 · 0 评论 -
解决高版本 phpMyAdmin 中文显示乱码问题
解决高版本 phpMyAdmin 中文显示乱码问题本文讲述如果解决 phpMyAdmin 高版本数据表里中文字符显示乱码的问题。先说一下我数据库的情况。MySQL 版本:5.0.26MySQL 默认字符集:latin1论坛数据库字符集:latin1phpMyAdmin 版本:2.9.0.2使用 phpMyAdmin 打开我的数据库后,发现数据表里的中文全是全是乱码,不管如何改变 phpM原创 2008-08-07 09:30:00 · 1542 阅读 · 0 评论 -
Mysql中通过Like匹配中文不准确的解决办法
方法一:解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。方法二:如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。方法三:可以使用 Mysql 的 locate 函数来判断。以转载 2009-05-21 13:22:00 · 6572 阅读 · 1 评论 -
MySQL备份与恢复技巧
1. 为什么要备份数据库 对数据库来说,最重要也最容易被忽视的就是备份。由于不可预测性,偶然的事件可能会导致非常惨重的损失。数据越是重要,数据的变化越频繁,备份越发需要经常进行。备份周期根据不同业务的需要可以调整,但是不能忽视备份。备份时最好也备份my.cnf或my.ini,这样可以保存你以前的配置参数。2. MyISAM 表备份/恢复策略2.1. 文件热备转载 2009-10-22 11:54:00 · 1157 阅读 · 0 评论 -
具有负载均衡功能MySQL服务器集群部署实现
摘要:MySQL是一个高速度、高性能、多线程的关系型数据库管理系统,适用平台多,可扩展性强。在实际生产环境中,部署和实现具有一定负载均衡功能的MySQL服务器集群,对于提高用户数据库应用系统的性能、速度和稳定性具有明显的作用。本文简要介绍了在FreeBSD 7.0-Release系统上部署实现MySQL服务器集群的方案,并对可能出现的问题提供了相应的解决方法。 1. 引转载 2009-10-26 15:47:00 · 1595 阅读 · 0 评论 -
mysqldump导出的insert sql脚本具有字段名
mysqldump --single-transaction --default-character-set=gbk -uabc -pabc -t -wid=170418406 database_name > id.sql-t是不增加create table建表和drop table语句-c是在insert中增加具体的字段名。这样对目的表结构不同原表,情况下更有用-w后边跟where条件,原创 2009-12-08 11:24:00 · 13482 阅读 · 0 评论 -
mysql中IN子查询排序
这几天做一个查询,需要在一个指定的结果集中进行查询,例如:select * from table_name where doc_id IN (1dba, c20a, 907b) 其中IN子句中的doc_id列表是通过调用一个外部接口获得一组doc_id常量列表,然后在本地库中搜索符合这个列表的数据记录。后来发现mysql返回的结果集的排序是按照入库顺序给出的,但是我希望原创 2009-12-31 13:43:00 · 3714 阅读 · 1 评论 -
LAMP系统性能调优 MySQL数据库服务器优化
<br />如今,开发人员不断地开发和部署使用 LAMP(Linux®、Apache、MySQL 和 PHP/Perl)架构的应用程序。但是,服务器管理员常常对应用程序本身没有什么控制能力,因为应用程序是别人编写的。这份 共三部分的系列文章 将讨论许多服务器配置问题,这些配置会影响应用程序的性能。本文是本系列文章的第三部分,也是最后一部分,将重点讨论为实现最高效率而对数据库层进行的调优。<br /><br />关于 MySQL 调优<br /><br />有 3 种方法可转载 2010-11-02 22:03:00 · 1448 阅读 · 0 评论 -
mysql MyAMI 锁机制
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。 一、概述 MySQL有三种锁的级别:页级、表级、行级。 MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页转载 2011-07-28 22:44:24 · 1459 阅读 · 0 评论 -
MySQL查询优化技术系列讲座之使用索引
索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在MySQL邮件列表中,人们经常询问那些让查询运行得更快的方法。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其它的方法来原创 2008-02-09 23:43:00 · 852 阅读 · 0 评论 -
Mysql之EXPLAIN显示using filesort
EXPLAIN 是mysql解释select查询的一个关键字,可以很方便的用于调试语法格式如下EXPLAIN tbl_name或者:EXPLAIN SELECT select_optionsEXPLAIN 语句可以被当作 DESCRIBE 的同义词来用,也可以用来获取一个MySQL要执行的 SELECT 语句的相关信息。EXPLAIN tbl_name 语法和 DESCRIBE tbl_nam转载 2008-01-30 21:16:00 · 1121 阅读 · 0 评论 -
MYSQL使用索引的方法
如何建立索引 · 索引通常被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。所以我们选择索引的列也通常选择出现在WHERE子句、join子句、ORDER BY或GROUP BY子句中的列。· 选择索引时,需要考虑数据列的基数。所谓基数,是指数据列所包含的不同的数据的个数。如果基数相对于数据表行数较高的话,索引的效果比较好。换句话说,就是指数据列转载 2008-02-09 07:31:00 · 1065 阅读 · 0 评论 -
轻型数据库SQLite结合PHP的开发
SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理原创 2006-06-02 15:21:00 · 7659 阅读 · 2 评论 -
MySQL 数据库性能优化方法
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务转载 2006-07-04 20:39:00 · 1678 阅读 · 0 评论 -
MySQL 乱码问题相关资料汇集
下面要写的是一篇非常无聊的东西,充斥了大量各式各样的编码、转换、客户端、服务器端、连接……呃,我自己都不愿意去看它,但想一想,写下来还是有点意义的,原因有四:MySQL 4.1 对多语言的支持有了很大变化 (这导致了问题的出现); 尽管大部分的地方 (包括个人使用和主机提供商),MySQL 3 仍然占主导地位;但 MySQL 4.1 是 MySQL 官方推荐的数据库,已经有主机提供商开始提供并转载 2006-07-22 23:15:00 · 1426 阅读 · 0 评论 -
MySQL索引分析和优化
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执 行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件 的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快 100倍。原创 2006-08-15 16:04:00 · 1268 阅读 · 0 评论 -
MySQL 全文搜索
MySQL 全文搜索到 3.23.23 时,MySQL 开始支持全文索引和搜索。全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上创建。对于大的数据库,将数据装载到一个没有 FU原创 2006-08-13 19:07:00 · 1065 阅读 · 0 评论 -
mysql的SQL_CALC_FOUND_ROWS 使用
在很多分页的程序中都这样写:SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据这样的语句可以改成:SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ...... l原创 2007-02-27 11:40:00 · 18483 阅读 · 0 评论 -
MySQL中的mysqldump命令使用详解
使用mysqldump: (mysqldump命令位于mysql/bin/目录中) mysqldump工具很多方面类似相反作用的工具mysqlimport。它们有一些同样的选项。但mysqldump能够做更多的事情。它可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式(Schema,后面有解释)并且将其转换成DDL语法原创 2007-03-14 14:11:00 · 1064 阅读 · 0 评论 -
mysql复习mysqldump命令
mysql有很多的导入数据库方法 ,然而,这些只是数据库传输中的一半,还有一半就是数据库的导出。因为,许多时候需要我们数据导出进行必要的备份。数据的造价是昂贵的,所以大家也要小心谨慎的处理他们,一般大家常用的是基于b/s模式管理的phpmyadmin,还有mysql-front,navicat mysql等工具,工具有很多,但是,掌握mysql自带的备份工具也是必须的,下面就是我来介绍mysqld原创 2007-03-14 14:04:00 · 1204 阅读 · 0 评论 -
使用mysqldump进行Mysql 备份
mysqldump命令mysql数据库导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被原创 2007-03-14 14:12:00 · 2181 阅读 · 0 评论 -
MySQL用户管理
MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。两条语句扮演了mysql数据库的前端角色,并提供与直接操作这些表的内容不同的另一种方法。CREATE和REVOKE语句影响4个表:授权表 内容 user原创 2007-04-17 22:54:00 · 827 阅读 · 0 评论 -
MySQL 备份和恢复
本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22。目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),原创 2007-10-10 16:18:00 · 831 阅读 · 0 评论 -
MySQL与事务
MySQL5.X都已经发布好久了,但是还有很多人认为MySQL是不支持事务处理的,这不得不怪他们是孤陋寡闻的,其实,只要你的MySQL版本支持BDB或InnoDB表类型,那么你的MySQL就具有事务处理的能力。这里面,又以InnoDB表类型用的最多,虽然后来发生了诸如Oracle收购InnoDB等令MySQL不爽的事情,但那些商业上的斗争与技术无关,下面以InnoDB表类型为例简单说一下MySQL原创 2008-01-24 12:39:00 · 660 阅读 · 0 评论 -
MySQL編碼由 latin1 轉 utf8
MySQL latin1 轉 utf8 Posted March 31, 2006 相信 MySQL 的編碼對很多人來說 … 一直是個相當令人頭痛的問題 … 今天所要做的介紹是如何把資料庫的資料, 由 latin1 轉成 utf8..一般 .. MySQL 裝起來後(用 rpm 安裝) ,系統的預設編碼是 latin1.而很多人在安裝一些網頁的系統時,如 wordpress、LifeType、ph原创 2008-01-28 14:47:00 · 2774 阅读 · 1 评论 -
两种转换mysql数据编码的方法-latin1转utf8
背景:某个系统的mysql数据库dnname采用默认的latin1字符集,系统升级需要将所有数据转换成utf-8格式,目标数据库为newdbname(建库时使用utf8)方法一:步骤一 命令行执行:mysqldump --opt -hlocalhost -uroot -p*** --default-character-set=lantin1 dbname > /usr/local/dbna原创 2008-01-28 23:15:00 · 29769 阅读 · 6 评论 -
Mysql索引的选择性
对于索引的使用,MySQL并不一直都是用采用正确的决定的。参考一个简单的表:CREATE TABLE `r2` (`ID` int(11) DEFAULT NULL,`ID1` int(11) DEFAULT NULL,`CNAME` varchar(32) DEFAULT NULL,KEY `ID1` (`ID1`)) ENGINE=MyISAM DEFAULT CHARSET=latin1原创 2008-01-30 21:15:00 · 2184 阅读 · 0 评论 -
EXPLAIN 语法(得到SELECT 的相关信息)
7.2.1 EXPLAIN 语法(得到SELECT 的相关信息) 原文地址 http://imysql.cn/?q=node/35EXPLAIN tbl_name或者:EXPLAIN SELECT select_optionsEXPLAIN 语句可以被当作 DESCRIBE 的同义词来用,也可以用来获取一个MySQL要执行的 SELECT 语句的相关信息。原创 2008-01-30 21:27:00 · 6308 阅读 · 1 评论 -
MySQL数据库的锁机制
在一个update和insert 操作频繁的表中,少量数据测试的时候运行良好,在实际运营中,因数据量比较大(21万条记录),会出现死锁现象,用show processlist查看,可以看到一个update语句状态是Locked,一个delete语句状态是Sending data。转载 2011-07-28 22:46:32 · 1612 阅读 · 0 评论