标签归档:mysql

MySQL数据库名和表名大写小写lower_case_table_names配置

数据库和表名在 Windows 中是大小写不敏感的 ,而在大多数类型的 Unix 系统中是大小写敏感的 Windows 版的 MySQL 默认继承 os 的大小写习惯,即使 SQL中有区分,在导入的时候都会被转为小写,如果今后再将此数据库导出就可能存在大小写的问题。my.ini 中有属性lower_case_table_names 可以更改此默认值,要严格区分大小写,将此项的置设置为2,再重启 MySQL 服务即可。 参考: [mysqld] lower_case_table_names=2 然而,该查询在Windows中是可以的。要想避免出现差别,最好采用一致的转换,例如总是用小写创建并引用 … 阅读全文

MySQL存储引擎MyISAM Archive选择

一、MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 1、InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。 建议使用MySQL5.5及以后的版本,因为这个版本及以后的版本的InnoDB引擎性能更好。 MySQL4.1以后的版本中,InnoDB可以将每个表的数据和索引存放在单独的文件中。这样在复制备份崩 … 阅读全文

[Msg] Finished – Unsuccessfully失败MySQL导入sql文件出错

以utf8无bom格式编码

MySQL再导入sql文件时,提示 [Msg] Finished – Unsuccessfully 完成失败,导致原因为编码不正确。 解决办法: 检查SQL文件查看当前编码,将编码改为:以utf8无bom格式编码。 以下来源网络,请参考: UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM。 所以不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯(顺便提一下:把带有 BOM 的小端序 UTF-16 称作「Unicode」而又不详细说明,这也是微软的习惯)。 BOM(byte order mark)是 … 阅读全文

Mysql错误:Duplicate entry ‘xxx’ for key ‘PRIMARY’的解决方法

mysql 出现Duplicate entry ‘xxx’ for key ‘PRIMARY’,一个自增字段达到了上限,而且继续向里面插入数据的话会出现 Failed to read auto-increment value from storage engine 的提示。但是今天遇到了另一个错误提示:Duplicate entry ‘xxx’ for key ‘PRIMARY’,经过排查同样是因为自增字段达到了上限。 那为什么同一个问题会出现不同的提示呢? 测试结果是这样的: 1、如果这个时候数据 … 阅读全文

mysql查询Unknown column ‘xxx’ in ‘on clause’问题解决

mysql查询出现提示Unknown column ‘xxx’ in ‘on clause’的问题原因为: MySQL5.0 Bug, 要把联合的表用括号包含起来才行: SELECT (c.id, a.id, b.id) FROM A a, B b LEFT JOIN C c ON c.a_id = a.a_id AND c.b_id = b.b_id 这句话执行应该是没有错误的,但是Mysql 5 下执行则会出错。 因为mysql下有这样一个BUG,要把联合的表用括号包含起来才行: SELECT (c.id, a.id, b.id) FROM … 阅读全文

mysql返回#1114 – The table ‘xxxx’is full解决方法

发现执行mysql的 REPLACE INTO 的时候mysql返回 #1114 – The table ‘xxxx’ is full 这个错误。 以前没有遇到过,于是查找资料解决这个问题。得知是由于内存表的大小超过了规定的范围,于是搜索解决方法,网上提到的有两种解决方法, 一种是修改 my-innodb-heavy-4G.ini文件里的tmp_table_size参数,然后重启mysql服务。 另外一种是修改max_heap_table_size参数。 [root@localhost etc]# vi /etc/rc.d/init.d/mysql 找到 $bindir/mysql … 阅读全文

如何优化Mysql千万级快速分页MySQL大数据查询分页

MySQL数据库优化处理实现千万级快速分页分析,来看下吧。 数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id 是逐渐,vtype是tinyint,vtype是索引。这是一个基本的新闻系统的简单模型。现在往里面填充数据,填充10万篇新闻。 最后collect 为 10万条记录,数据库表占用硬盘1.6G。OK ,看下面这条sql语句: select id,title from collect limit 1000,10; 很快;基本上0.01秒就OK,再看下面的 select id,title from … 阅读全文

mysql数据库错误 General error: Error writing file ‘/tmp/…’ (Errcode: 28)

在php mysql 查询大数据时,遇到了一个错误 Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000]: General error: 3 Error writing file ‘/tmp/……’ (Errcode: 28)’ in …… 。 通过搜索发现这个问题是mysql查询创建临时文件时,临时目录的空间不足导致的。 这个错误如果想看到它的现象,就必须在sql运行时来监视 … 阅读全文

mysql查询字段不为空的数据sql语句not null

问题:查询原有某类数据的数量,对比发现,新旧数据的差距是新插入的数据某些字段为空,那么 mysql 如何查询出某字段的值不为空的数据呢?看下面的查询语句。 SELECT * FROM `usr_merchants` a where address is not null and address <>”; 不要想当然的写成 !=null 或 <> null

mysql单列索引和组合索引mysql索引类型介绍

分享一篇文章,介绍mysql索引。 一、索引分单列索引和组合索引 单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。 组合索引:即一个索包含多个列。 二、介绍一下索引的类型 1、普通索引 这是最基本的索引,它没有任何限制。它有以下几种创建方式: (1)创建索引:CREATE INDEX indexName ON tableName(tableColumns(length));如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是 BLOB 和 TEXT 类型,必须指定 length,下同。 (2)修改表结构:ALTER tableName AD … 阅读全文

mysql 主从库配置

MySQL从库上有一个IO线程负责从主库取binlog到写到本地。另外有一个SQL线程负责执行这些本地日志,实现命令重放; 一、环境 主机: master操作系统:centos 5.3 IP:192.168.1.222 MySQL版本:5.0.77 从机: slave操作系统:centos 5.3 IP:192.168.1.220 MySQL版本:5.0.77 二、创建数据库 分别登录master机和slave机的mysql:mysql –u root –p 创建数据库:create database repl; 三、master机和slave机的相关配置 1、修改master机器中mysql … 阅读全文

windows下在一台机器上安装两个MYSQL数据库的方法

环境: OS:Windows 2003 DB:MYSQL5.5 1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy到E盘 4.创建第二个mysql的my.ini文件 第一个mysql的my.ini文件默认是在如下路径 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini copy该ini文件存放到E:\MySQL\mysql_base, … 阅读全文

Linux环境下安装MySQL,Linux下Mysql安装教程

下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-client-4.0.16-0.i386.rpm 下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。 rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh, … 阅读全文

Windows安装两个mysql数据库步骤

由于新旧项目数据库版本差距太大,编码格式不同,引擎也不同,所以只好装两个数据库。 本次安装两个mysql数据库,版本分别是4.0.18,5.5.36。都是可执行文件直接安装。 本机上之前已经安装完5.5.36版本,单个数据库问题不大,一步一步下去便安装完毕。 另一个版本也直接点击下一步一直安装,要注意的地方是,另外找一个目录。比如: 5.5.36: d:\mysql5.5.36\ 4.0.18: d:\mysql4.0.18\ 以上在Windows7和Windows Server 2008实验通过。 接下来是第二个数据库4.0.18版本的配置: 1 配置my.ini 进入到安装目录,发现几个m … 阅读全文

Linux下MySQL整个数据库的备份与还原

MySQL整个数据库的备份与还原:代码如下 [root]# /usr/bin/mysqldump -h127.0.0.1 -uusername -ppassword databasename >/opt/share/1/backup.sql /usr/bin/mysqldump:用于执行的程序; -h:主机名称 -u:数据库用户 -p:数据库密码 databasename:数据库名称 >/opt/share/1/backup.sql:导出文件的保存名称 以这样的方式导出的文件打开后发现里面有乱码,这个是正常的,是因为导出时没有设置字体的缘故,这个不影响数据库内容的备份和还原。 然后 … 阅读全文

mysql增加从库方法

#现有环境是一主一从,需要再增加一台从库,具体方法如下: 同步test数据库 主:192.168.3.203 从1:192.168.3.210 从2:192.168.3.211 1.在主服务器203上面为210和211建立账户。 mysql -uroot -p123 grant replication slave on *.* to ‘backup’@’192.168.3.210′ identified by ‘backup'; grant replication slave on *.* to ‘backup&#8217 … 阅读全文

PHP数据库连接mysql与mysqli的区别与用法

一、mysql与mysqli的概念相关: 1、mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。 2、在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库 二、mysql与mysqli的区别: 1、mysql是非持继连接函数,mysql每次链接都会打开一个连接的进 … 阅读全文