分类存档: MySQL

PHP连接MySQL报错 2002 No such file or directory 的解决方案

使用 “127.0.0.1” 代替 “localhost” 来连接MySQL问题解决 参考资料: PHP – MySQL connection not working: 2002 No such file or directory:https://stackoverflow.com/questions/1676688/php-mysql- …

继续阅读 »

主键和唯一索引的区别

一、相似之处 创建主键的同时会创建一个唯一索引; 二、区别 主键是一种约束,目的是对这个表的某一列进行限制; 唯一索引是一种索引,索引是数据库表的一个冗余结构,目的是为了更好的查询; 主键列不允许为空值,而唯一性索引列允许空值; 一个表最多只能一个主键,但是可以包含多个唯一索引; 扩展阅读: 主键和唯一索引的区别:http://blog.csdn.net/baoqiangwang/article/ …

继续阅读 »

MySQL查询及处理重复数据示例

参考资料: MySQL查询表内重复记录:http://www.2cto.com/database/201308/234557.html mysql 处理重复数据:http://www.cnblogs.com/yuwensong/p/3880114.html mysql的distinct用法-mysql中如何筛选出非重复的数据:http://www.2cto.com/database/201208/ …

继续阅读 »

CentOS下实现Heartbeat+DRBD+MySQL双机热备硬件故障自动切换高可用(HA)方案

方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证。默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自动切换到备机上继续提供服务,当主数据库修复完毕,又将服务切回继续由主mysql提供服务。 方案优缺点 优点:安全性高、稳定性高、可用性高,出现故障自动切换。 缺点:只有一台服务器提供服务,成本相对较高,不 …

继续阅读 »

使用mysqldump完整备份和增量备份MySQL及模拟故障恢复测试

环境准备 安装MySQL数据库服务器 参考: 企业之Mysql备份恢复:http://502245466.blog.51cto.com/7559397/1291913 创建测试数据库与表并插入数据 [root@localhost ~]# mysql -uroot -proot@pass mysql> create database allen; mysql> use allen; mysql> c …

继续阅读 »

MySQL备份工具XtraBackup安装及全量和增量备份与恢复测试

XtraBackup简介 Xtrabackup 是percona公司的一个开源项目,用以实现类似innodb官方的热备份工具InnoDB Hot Backup的功能,能够非常快速地备份与恢复mysql数据库,可以热备份innodb ,XtraDB,和MyISAM(会锁表)。 Xtrabackup中包含两个工具:xtrabackup和innobackupex。 Xtrabackup专门用于innod …

继续阅读 »

实现MySQL延时备份的几个方案

背景 MySQL同步在快速的网络中是毫秒级的,如果有误操作,从库也很快变更了,对于一些频繁进行,不是经过严格测试的操作或者某些误操作,可能带来风险。而延时备份就可以解决这个问题,他会使从库落后主库一段时间,如果主库有误操作,完全有时间从从库恢复到误操作之前的状态。 要实现MySQL的延迟复制,方法主要有以下几种。 使用percona-toolkit工具集中pt-slave-delay延时备份工具来 …

继续阅读 »

MySQL错误日志、查询日志、慢查询日志、事务日志、二进制日志详细解析

MySQL日志概要 主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志; 日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。 错误日志 在mysql数据库中,错误日志功能是 …

继续阅读 »

mysqldump命令详解及几个主要选项探究

相关命令 mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。 如果你在服务器上进行备份,并且表均为MyISAM表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复。参见8.9节,“mysqlhotcopy:数据库备份程序”。 有3种方式来调用mysqldump: sh …

继续阅读 »

MySQL执行show processlist显示的结果中status状态总结

一般情况下,DBA能从监控mysql的状态列表中查看出数据库的运行端倪,需要注意的是STATUS所表示的不同内容。且需要注意的是TIME字段表示的意思。它表示的只是最后那个STAT状态持续的时间。这个时间是有可能忽大忽小的。而不是SQL开始执行到现在的时间。单位时间是秒。 ————————— …

继续阅读 »

在SHELL中执行MYSQL命令的方法

在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考。 方案1 使用-e进行参数传递 语法: MYSQL_HOME/bin/mysql -u用户名 -p密码 -D数据库名 -e “sql 语句” 示 …

继续阅读 »

如何在Linux MySQL客户端中执行系统命令

在linux下可以用mysql命令登陆连接到mysql服务器,如果这时需要执行shell命令,例如查看某个目录下的文件列表,其实不需要退出mysql客户端,只需要在mysql提示符下输入system或\! 再加上系统命令即可。 mysql> system ls -l mysql>\! ls -l

MySQL多实例的安装配置和管理

mysql的多实例有两种方式可以实现,两种方式各有利弊。 第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便。 第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理。 下面就分别来实战这两种多实例的安装和管理 多个配置文件启动不同的进程来实现多实例 …

继续阅读 »

如何查看MySQL的binlog数据

binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 1、基于语句,无法保证所有语句都在从库执行成功,比如update … limit 1; 2、基于行,将每一次改动记为binlog中的一行.在执行一个特别复杂的update或者delete操 …

继续阅读 »

MySQL主从结构灾难恢复策略机制设想

当数据库服务器建立好以后,我们一般为了安全以及性能考虑,对数据库建立一个主从结构配置。但是这样做了以后查询性能是得到了提高,但是数据库的安全性真的像我们想的那样,主库坏掉了可以使用从库顶上使用吗? 考虑如下一种情况: 数据库服务器不是发生故障,而是被黑客黑了,黑客将其中一个数据表删除了,只时候我们建立的从库还有作用吗? 答案是: 没有用,因为从库上也会执行主库上所执行的操作,将这个表删除了,这个表 …

继续阅读 »