Mysql中如何查找并删除重复数据

Mysql中如何查找并删除重复数据
在数据库中我们经常会碰到重复数据了,下面我来介绍利用相关的mysql语句实现查找重复记录并且实现删除重复记录的sql语句. 考试系统中做了一个用户导入试题功能,导致用户导入了很多重复的试题,我需要查询及删除一下重复的记录,于是有了这篇文章. (一)单个字段 1、查找表中多余的重复记录,根据(question_title)字段来判断,代码如下: select * from questions where question_title in (select question_titl...

MySQL不能通过localhost或127.0.0.1连接数据库

MySQL不能通过localhost或127.0.0.1连接数据库
今天无事来给大家总结一下mysql连接数据库碰到的一些问题,下面最常见的mysql不能连接数据库就有不能通过localhost或127.0.0.1连接,下面我来介绍解决办法。 MySQL通过localhost无法连接数据库的解决 问题:一台服务器的PHP程序通过localhost地址无法连接数据库,但是如果设置为127.0.0.1则可以正常连接,连接其他数据库服务器也正常。MySQL的权限设置正确,且通过mysql命令行客户端可以正常连接数据库。 分...

MySQL无法重启提示Warning: World-writable config file

MySQL无法重启提示Warning: World-writable config file
今天帮朋友维护服务器,在关闭数据库的命令发现mysql关不了,提示Warning:World-writable config file ‘/etc/my.cnf’ is ignored,大概意思是权限全局可写,任何一个用户都可以写,mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件,这样mysql无法关闭. 下面看下整个过程,重启MySQL,代码如下: [root@ttlsa ~]    # service mysqld stop   &nbs...

innobackupex-1.5.1: fatal error: no innodb_buffer_pool_filename

innobackupex-1.5.1: fatal error: no innodb_buffer_pool_filename
MySQL的备份方法很多种,其中包含mysqldump,mydumper,mysql_hotcopy以及innobackupex,今天在备份innodb过程出现一个问题innobackupex-1.5.1:fatal error: no ’innodb_buffer_pool_filename’ option in group ’mysqld’ in MySQL options,这边作为记录,以备以后查看. 执行备份命令,详细错误信息如下: innobackupex-1.5.1: Created backup directory /data/backup/BD_mysql_3306_2013-10-17/2013-10-17_00-58-0...

Plugin InnoDB registration as a STORAGE ENGINE failed解决方法

Plugin InnoDB registration as a STORAGE ENGINE failed解决方法
本文章给大家介绍Plugin InnoDB registration as a STORAGE ENGINE failed解决方法,希望此文章对碰到此类问题的朋友有些帮助. 原先一台数据库未安装Innodb引擎,今天动态增加他,发现innodb加载不了,报错Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed,从详细日志里面发现创建log file创建失败,详细日志如下: InnoDB: If this error appears when you are&...

LINUX服务器下开启MYSQL远程连接权限

LINUX服务器下开启MYSQL远程连接权限
mysql中默认不支持远程连接了这样也是为了安全考虑了,要不很容易给其它人下你数据库,这个是非常严重的问题了. 安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限,下面是基本的步骤: 1、登录到mysql中,为root进行远程访问的授权,执行下面的命令. 1.1、改表法:可能是你的帐号不允许从远程登陆,只能在localhost,这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” ...

mysql limit 分页优化详解

mysql limit 分页优化详解
在mysql中分页会为我们提供limit命令可以直接进行分页了,如果几条数据直接使用limit分页没有一点问题,但是如果几万或百万数据你会发现这样机器会天天卡死. 实现分页,我们一般会使用 select * from table where id >100 limit a,b, 当分页过大时,如达到一万页,此时 a =十万,b=10,虽然此处使用到了索引,不用索引情况会更加糟糕,但是通过索引检索后还是需要回表去取 十万零一十条数据,然后丢掉前十万条,返...

mysql中INSERT IGNORE 与INSERT INTO,REPLACE INTO的区别

mysql中INSERT IGNORE 与INSERT INTO,REPLACE INTO的区别
在mysql中INSERT IGNORE,INSERT INTO,REPLACE INTO三者都是插入数据到mysql数据库的语句,那么这三者之间到底有什么区别呢? mysql中常用的三种插入数据的语句: insert into表示插入数据,数据库会检查主键,如果出现重复会报错; replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样; insert ignore表示,如果中...

MySQL下varchar类型最大长度是多少

MySQL下varchar类型最大长度是多少
在MySQL下varchar类型最大长度是多少呢,我们百度查一下会发现varchar长度为varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据了,那到底是不是这样的呢,我们来看看. 1、限制规则 字段的限制在字段定义的时候有以下规则: a) 存储限制:varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度,长度超过255时需要2个字节,因此最大长度不能超过65535. b) 编...

mysql重装后连接数据库提示1045错误

mysql重装后连接数据库提示1045错误
今天发现一个奇怪的问题把mysql重新安装之后发现再去连接mysql提示1045错误了,无法正常连接mysql数据库了,下面我们一起来看此问题解决办法. 之前因为没有正常关机 mysql 服务无法正常启动,后来重新安装了之后还是不能进入root账户提示1045错误. 解决方法: 1、停止服务,2、修改my.ini,找到【mysqld】,在其下加上一行 skip-grant-tables,3、启动mysql服务. 这样就可以进入了,进入之后修改 mysql库下面的user...

ORA-01994: GRANT 失败: 口令文件缺失或已禁用问题解决方法

ORA-01994: GRANT 失败: 口令文件缺失或已禁用问题解决方法
本文章来给大家总结一下关于ORA-01994: GRANT 失败:口令文件缺失或已禁用问题解决方法,这里主要是权限问题了,下面给各位同学整理了一些关于GRANT 失败解决办法. 要给某个用户赋权限时发生的错误,代码如下: sys@ORCL>grant sysdba to sys;    grant sysdba to sys    *    ERROR at line 1:  &...

MySQL实现模糊查询(REGEXP,LIKE)有2种方式

MySQL实现模糊查询(REGEXP,LIKE)有2种方式
在mysql中实现模糊查询有两种方法一种是LIKE/NOT LIKE,另一种是REGEXP/NOT REGEXP方法,下面我来给大家介绍它们的用法,希望此教程对各位同学会有所帮助. 一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP,或RLIKE/NOT RLIKE,它们是同义词. 第一种:标准的SQL模式匹配. 它有2种通配符:“_”和“%”,“_”匹配任意单个字符,而“%”匹配任意多个字符(包括0个),举例如下: SELECT * FROM table_name WHERE column_name LIKE ...

MySql中substring字符串截取函数用法

MySql中substring字符串截取函数用法
在mysql中常用的字符串截取函数有substring,SUBSTRING_INDEX了,substring是pos开始长度为len的字符串了,这个与php字符串截取函数有点像,下面我们一起来看看. 用法: SUBSTRING(str,pos,len)    SUBSTRING(str FROM pos FOR len)    SUBSTRING(str,pos)    SUBSTRING(str FROM pos)    别名SUBSTR,截取字符...

mysql中ASCII、ORD函数用法详解

mysql中ASCII、ORD函数用法详解
在mysql中ASCII、ORD函数都是把字符转换成ascii码值的函数了,下面我来给各位同学介绍一下mysql中ASCII、ORD用法. 一,ASCII(str1) 返回字符串str的最左面字符的ASCII代码值,如果str是空字符串,返回0,如果str是NULL,返回NULL. 举例:1.代码如下: mysql> select ascii('hi');    +————-+    | ascii('hi') |    +————-+  &...

MySql format与date_format函数用法区别

MySql format与date_format函数用法区别
在mysql中格式化函数有几个,像format,date_format,TIME_FORMAT这三个函数有很多朋友都不明白,下面我来给大家详细举例说明这三个函数用法 一,FORMAT(X,D) 格式化数字X为类似于格式'#,###,###.##',四舍五入到D为小数。如果D为0,结果将没有小数点和小数部分。 举例:1.代码如下: SELECT FORMAT(12324.2573,3);输出: 12,324.257 2.在有where条件时使用,代码如下: SELECT book_name,FORMAT(book_price,4) F...

MySQL数据库二进制日志备份和恢复步骤

MySQL数据库二进制日志备份和恢复步骤
在mysql中利用二进制日志备份与恢复数据库算是一种比较高级的数据库备份操作方法了,我们必须先在my.ini中打开mysql-bin功能,下面我来给大有介绍一下。 基本概念 定义:二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。 作用:1.二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。 2.二进制日志还...

mysql 触发器update替代new用法详解

mysql 触发器update替代new用法详解
在mysql触发器中不可以直接使用update进行数据更新操作了,这个不是mysql bug而官方说可能使用了update会导致死循环了,推荐我们直接使用new赋值变量了. mysql下insert和update触发器是不能再使用update和insert操作的,官方说明是为了防止出现死循环,解决的办法就是直接对new里的字段赋值,其实也挺方便的,不过也说明mysql的技术有待加强,毕竟人家mssql能够实现的功能,到你这就出问题了,代码如下: DELIMIT...

mysql中利用mysqldump命令备份还原数据库

mysql中利用mysqldump命令备份还原数据库
mysqldump命令是mysql中一个非常不错的数据库操作命令,他可以对数据库进行备份与还原,同时几乎所有数据库命令备份都会用到它,下面我来介绍一下mysqldump一些用法。 一、常用操作: 备份整个数据库 格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} > {backupfile.sql} 例如,代码如...

mysql中CONCAT值为空的问题解决办法

mysql中CONCAT值为空的问题解决办法
在mysql中concat函数有一个特点就是有一个值为null那么不管第二个字符有多少内容都返回为空了,这个特性让我们在实例应用中可能觉得不方便,但实现就是这样我们需要使用其它办法来解决. 在做opencart开发的时候,需要对用户表中用户的电话号码和区号连接起来,于是使用了concat方法,代码如下: SELECT CONCAT(isdcode,telephone) FROM gb_customer 竟然发现很多NULL列,telephone明明是有值的,于是查询了相关conc...

centos 6设置mysql不区分大小写

centos 6设置mysql不区分大小写
在linux系统中mysql区分大小写写的,如果你想让mysql不区分大小写的话我们可以在my.ini中修改lower_case_table_names即可. 今天公司服务器上,tomcat去读取mysql里的数据,居然无法读取成功,查看了下tomcat的日志,发现数据里有一句包含得有大小写的字母,为了解决这个问题,网上搜了一下,居然是要让mysql忽略大小写,但我们公司的mysql是做了主从的,为了不影响主从环境和mysql里的数据,我们提前给老大打了招呼,说...