-
mysql dba系统学习(3)mysql的启动停止
所属栏目:[MySql教程] 日期:2016-10-08 热度:167
mysql的启动有很多方法,我们将来一一讨论 一,mysqld mysqld是mysql的服务 mysqld这种方式启动的时候会读取my.cnf文件中的[mysqld]和[server]组group (每一个组都有[]来分割) 一般的,我们通过这种方式手动的调用mysqld,如果不是出去调试的目的,我们[详细]
-
mysql:error: 'Access denied for user 'root'@'localhost'
所属栏目:[MySql教程] 日期:2016-10-08 热度:196
# mysqladmin -uroot -p password 'newpassword' Enter password: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)' 现在终于被我找到了解决方法,如下(请先测试方法三,[详细]
-
如何查看mysql的状态信息
所属栏目:[MySql教程] 日期:2016-10-08 热度:122
mysql s 或status都可以查询到mysql状态基本信息 -------------- mysql Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1 Connection id: 28035 #连接ID Current database: #当前数据库 Current user: root@localhost #当前[详细]
-
mysql热备份方法
所属栏目:[MySql教程] 日期:2016-10-08 热度:170
mysql 热备 在运维中需定期备份mysql,为崩溃后的恢复数据做准备。一般分为冷备和热备,冷备就是停掉mysql服务,直接cp文件,但是在生产环境中,很 少有机会这样,一般都是在mysql提供服务的时候就进行备份,因此这牵扯到数据一致性的问题。所以,在MyISAM[详细]
-
Mysql分区技术的理论
所属栏目:[MySql教程] 日期:2016-10-08 热度:125
一、基本理论 在mysql大数据处理上,水平分表技术是很常用的,但是分表技术带来了PHP处理的很大开销,为了解决这个弊端Mysql5.1以后以插件的方式增加了一个新的技术--分区技术。 分区技术是在逻辑层进行的水平分表,对于应用程序而言还是一张表,Mysql5.1[详细]
-
高性能的MySQL(5)索引策略-索引和表的维护
所属栏目:[MySql教程] 日期:2016-10-08 热度:93
维护表有三个主要的目的: 1、找到并修复损坏的表。 对于MyISAM存储引擎来说,表损坏通常是系统崩溃导致的。其他的引擎也会由于硬件的问题,MySQL本身的缺陷或者操作系统的问题导致索引的损坏。 损坏的索引,会导致查询返回错误的结果或者莫须有的主键冲突[详细]
-
MySQL常见面试问题总结(四)
所属栏目:[MySql教程] 日期:2016-10-08 热度:105
副标题#e# 091 数据库死锁概念 多数情况下,可以认为如果一个资源被锁定,它总会在以后某个时间被释放。而死锁发生在当多个进程访问同一数据库时,其中每个进程拥有的锁都是其他进程所需的,由此造成每个进程都无法继续下去。简单的说,进程A等待进程B释放[详细]
-
MySQL常见面试问题总结(三)
所属栏目:[MySql教程] 日期:2016-10-08 热度:89
副标题#e# 061 如何删除表? 答案:运行命令 drop table table_name; 062 创建索引 对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查[详细]
-
MySQL中如何实现类似Oracle的序列
所属栏目:[MySql教程] 日期:2016-10-02 热度:88
Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的; 但在实际使用过程中发现,MySQL的自增长有诸多的弊端:不能控制步长、开始索引、是否循环等;若需要迁移数据库,则对于主键这块,也是个头大的问题。 本[详细]
-
MySQL表结构的同步
所属栏目:[MySql教程] 日期:2016-10-02 热度:179
现在全身心投入到MySQL中。 项目要求:将开发环境中的数据库的修改同步至线上环境。 开发者给出的解决办法是:利用像Python 中的South框架,自动将开发环境的变更同步至生产环境。这个对于DBA来说是无法承受的(除非是创建数据库结果类似的语句)。数据库[详细]
-
原版MySQL中如何恢复单个InnoDB数据库表
所属栏目:[MySql教程] 日期:2016-10-02 热度:193
Percona 中的 xtrabackup 真是个好工具, 简单的介绍的他的功能: 1、创建热备份(主要依靠innodb的 crash recovery 功能) 2、增量备份 3、直接对备份文件压缩打包 4、负载小 在测试最新版本2.0时,发现问题: importing and exporing individual tables[详细]
-
MySQL中删除大表的性能问题
所属栏目:[MySql教程] 日期:2016-10-02 热度:156
微博上讨论MySQL在删除大表engine=innodb(30G+)时,如何减少MySQL hang的时间,现做一下简单总结:(微博地址:http://weibo.com/1642466057/yuPz2guYJ) 当buffer_pool很大的时候(30G+),由于删除表时,会遍历整个buffer pool来清理数据,会导致MySQL[详细]
-
MySQL中如何批量修改表字段属性
所属栏目:[MySql教程] 日期:2016-10-02 热度:127
测试库中有将近300张表,其中有278张表的fid,uid字段需要作出修改。 解决办法是自动生成修改字段属性的SQL语句。 用于生成SQL的语句: select CONCAT('alter table ',TABLE_NAME,' modify ',COLUMN_NAME,' varchar(50) ;') from information_schema.COLUMN[详细]
-
MySQL中的行复制
所属栏目:[MySql教程] 日期:2016-10-02 热度:198
MySQL基于行的复制可以最大化保证主从复制的一致性,对于RBR(基于行复制) 和SBR(基于语句复制),相信大家已经很熟知,下面记录的是行复制在二进制日志总记录的情况。 基于行的复制是与位置相关的,binlog里面只记录相关表发生改变的列的数据。其中引入[详细]
-
MySQL 5.5的半同步复制
所属栏目:[MySql教程] 日期:2016-10-02 热度:145
在保证数据库性能的前提下,怎么保证数据的一致性呢? 在MySQL 5.5版本中即支持异步复制又支持半同步复制。 1、当slave 连接master的时候,它会指出它是否支持半同步复制。 2、当master启用 semisynchronous replication.并且至少有一台slave也启用了该功[详细]
-
MySQL中的主从复制一致性检测
所属栏目:[MySql教程] 日期:2016-10-02 热度:63
在MySQL主从复制过程中,常常需要对某些重要的表进行一致性检查。 由于主从数据在同步时存在一定的延迟,因此直接读取服务器数据的方式无法严格保证信息的一致性。在数据在同步完全结束之前,一直处于不断变化且并不完整的状态下。锁表的可能实现这个问题[详细]
-
MySQL中的异常信息诊断
所属栏目:[MySql教程] 日期:2016-10-02 热度:177
今天要介绍的是Percona中的pt-stalk工具。 有些问题间歇性的发生,监控信息也许根本来不及采集信息,MySQL的锁定或活动的高峰通常没有留下任何数据来分析。这个是pt-stalk存在的意义, Pt-stalk 会监测一个触发条件,然后收集相关信息,该工具会将信息写入[详细]
-
MySQL主从复制的延迟监测
所属栏目:[MySql教程] 日期:2016-10-02 热度:165
主从复制延迟的监测,我以前的做法是通过比较show slave statusG中的两个变量的差值(Read_Master_Log_Pos,Exec_Master_Log_Pos),将差值设置为一个自己认为合理的范围,Seconds_Behind_Master 没有适用过,今天做一次解析: Seconds_Behind_Master 是通[详细]
-
MySQL的日常整理
所属栏目:[MySql教程] 日期:2016-10-01 热度:90
记录工作的点点滴滴: 今天遇到case 1: 在测试机上,start slave 出现假死现象,数据库能够连接, show processlist;显示:队列等待master 从错误日志里面看到: 120831 16:20:59 [ERROR] /usr/local/mysql3307/libexec/mysqld: Disk is full writing './m[详细]
-
MySQL多IDC部署的注意事项
所属栏目:[MySql教程] 日期:2016-10-01 热度:110
目前暂时还没有哪款数据库产品是专门针对跨IDC进行的优化,在理论上被业界认为最优的方案是采用基于Paxos协议(暂时只有google做出了实现,google f1),今天只讨论MySQL在这方面的注意事项: 对于跨IDC的情况基本都会设计到以下问题: 1、MySQL多IDC的数[详细]
-
MySQL中如何避免使用SWAP
所属栏目:[MySql教程] 日期:2016-10-01 热度:98
当物理内存的数量不能容纳数据的时候,os会把虚拟内存中的数据写到磁盘上,此时的交换对于运行在操作系统中的进程是透明的。 交换对与MySQL性能有很大的影响,对于Innodb存储引擎它对内存中的数据锁住全局互斥量,如果此时导致了磁盘的IO,那么所有的动作[详细]
-
MySQL准备语句:Prepared Statements
所属栏目:[MySql教程] 日期:2016-10-01 热度:129
MySQL准备语句(Prepared Statements), 使用增强的二进制客户端/服务器协议在客户端和服务器之间高效的发送数据,可以通过支持这种行协议的编程库来访问准备语句。 创建准备语句时,客户端库会像服务器发送一个实际查询的原型,然后服务器对该原型进行解析[详细]
-
关于MongoDB schema-free vs MySQL DDL
所属栏目:[MySql教程] 日期:2016-10-01 热度:192
文档数据库(Document-orient Database)支持Schema-Free,他的一行记录格式为:{name: 外观设计, value: 直板}},实际上是使用KEY/VALUE存储的mongo采用的是BSON二进制编码,因此空间上来说应该会比JSON省一些的,解析的时候按照JSON解析。每一个Document都[详细]
-
关于MySQL Innodb_flush_method
所属栏目:[MySql教程] 日期:2016-10-01 热度:90
innodb_flush_log_at_trx_commit 决定了事务日志何时write,flush innodb_flush_method确定了日志及数据文件如何write、flush。show variables显示该变量为空,那说明被设置了默认值(fdatasync) 下面我们先从Linux IO上理解一下文件是如何打开、写入、刷[详细]
-
对MySQL中误操作的思考
所属栏目:[MySql教程] 日期:2016-10-01 热度:146
作为一名DBA需要有着严谨的工作态度。 两台测试DB Server A, Server B, 默认存储引擎InnoDB.有这样一个需求:需要将A中所有的表结构同步到B中。当时是这样做的: mysqldump -no-data...... 导出mysql表的文件后结果又将这些文件应用到了Server A 中,可想[详细]
