首页 > mysql

修改my.ini导致MySQL57服务无法启动,服务没有报告任何错误 

MySQL57服务无法启动

安装MySQL57数据库后,更改my.ini文件使数据库表实现区分大小写。在修改my.ini后导致MySQL57服务无法启动,服务没有报告任何错误 最后各种尝试发现是配置参数错误导致MySQL57服务无法启动。 查看了官方文档: Use lower_case_table_names=1 on all systems. The main disadvantage with this is that when you use SHOW TABLES or SHOW DATABASES, you do not see the names in their original lettercase. U … 阅读全文

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查大数据时报错Incorrect key file for table ‘/tmp/#sql…'; try to repair it’ in …

tmp-err1

今天在php mysql查大数据时报错,<b>Fatal error</b>: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000]: General error:126 Incorrect key file for table ‘/tmp/#sql_72c_0.MYI'; try to repair it’ in … 当mysql的临时文件大小设置太小,或者由于并发量太大导致临时文件存放的目录空间大小不够时都会报这个错误。& … 阅读全文

php mysql分页大数据查询方案大数据优化

如何将分页SQL做到更优化,让MySQL执行的更快的方法。 一般的情况下,我们的分页SQL语句是这样的: SELECT * FROM table ORDER BY id LIMIT 1000,10; 以上SQL语句在原理上和在实际操作中是不会存在什么问题,但是当table表的数据量达到几十万以上的时候,上面的语句执行一遍,可能会要执行个十几秒的时间,并且当页数越靠后的话,执行的时间会越长,这个时候我们就需要找到一种更快的查询办法来替代这种操作了。 网上已经有很多优化的方法,基本都是这样的: SELECT * FROM table WHERE id >= (SELECT id FROM t … 阅读全文

如何优化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运行时来监视 … 阅读全文

Linux下安装配置php的mysql扩展

安装PHP扩展,已经有太多人写过了,随便百度、谷歌一下,都可以查到各种PHP扩展的安装方法,今天我要写的是,在本地没有安装msyql应用的情况下,如何安装配置php的mysql扩展。首先说说为什么会有这种需求吧,今年可以说是VPS,即云主机开始最火的一年,很多小公司及个人,都大量购买云主机,云数据库等等。当我们的网站或者应用系统,使用RDS即阿里云的云数据库的时候,我们的云主机是不需要安装mysql的,因为我们要做分布式的系统架构,即每台服务器,只跑一个专门的应用。好了,说了这么多,下面我们来开始安装及配置PHP的mysql扩展吧。 一、下载或者上传php程序 wget http://cn2. … 阅读全文

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

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

Linux下安装MySQL数据库的方法步骤

MySQL在Linux下如何安装呢,下面一起看下在Linux下安装MySQL数据库的步骤: 1.建好一个专门放置MySQL的目录 /mysql/db数据库目录 /mysql/data数据库数据文件目录 2.配置用户,添加专门的MySQL管理用户 >groupadd mysql —-添加用户组 >useradd -g mysql mysql —-在mysql用户组中添加一个mysql用户 3.配置,生成并安装MySQL >cmake -DCMAKE_INSTALL_PREFIX=/mysql/db -DMYSQL_UNIX_ADDR=/tmp/mysql … 阅读全文

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, … 阅读全文