易截截图软件、单文件、免安装、纯绿色、仅160KB

利用Federated引擎进行mysql复制

Accessing Distributed Data with the Federated Storage Engine
http://dev.mysql.com/tech-resources/articles/mysql-federated-storage.html
Federated存储引擎可以使几台数据库逻辑上组成一个数据库,其作用相当于Oracle的数据库链接,通俗地说,即在本地建立远程的数据库表的引用。
Mysql需要5.0以上
(1)查看是否安装了federated引擎
show engines;
Engine Support Comment Transactions XA Savepoints
MEMORY YES Hash based, stored in memory, useful for temporary tables NO NO NO
FEDERATED NO Federated MySQL storage engine   
MyISAM YES Default engine as of MySQL 3.23 with great performance NO NO NO
BLACKHOLE YES /dev/null storage engine (anything you write to it disappears) NO NO NO
MRG_MYISAM YES Collection of identical MyISAM tables NO NO NO
CSV YES CSV storage engine NO NO NO
ARCHIVE YES Archive storage engine NO NO NO
InnoDB DEFAULT Supports transactions, row-level locking, and foreign keys YES YES YES
从中可以看出federated引擎没有开启
windows下在my.ini中加入federated,即可开启;而在linux中,需要编译时加入选项,再在my.ini中加入federated,即可开启。
(2)建立远程数据库表链接
比如:在server1中有一个数据库db1,在server2中有db1,其中server1.db1为写,server.db1为备份;假设在两个服务器db1中分别有一个表a,在server1.db1中建立server2.db1.a的链接
create table remote_a ...... engine=federated connection = 'mysql://root:123456@server2:3306/db1/a';
(3)创建触发器
delimiter ;;
create trigger copy_a_insert after insert on a for each row begin 向remote_a插入数据 end;;
create trigger copy_a_update after update on a for each row begin 向remote_a更新数据 end;;
create trigger copy_a_delete after delete on a for each row begin 向remote_a删除数据 end;;
delimiter ;
这样在向server1.db1.a中插入数据时,调用触发器copy_a_insert,向remote_a插入数据,而remote_a是对serve


相关文档:

简单的PHP操作Mysql类

<?php
/*
 * 名称 : MySQL数据库基本操作
 * 作者 : pjx
 * 版本 : v 2010/02/25 v 1.0
 * 说明 : 该类用于对MySQL做一些简单的操作
 * 示例 :
 * 实例 => $db = new DB_MYSQL($database),打个$database数据库
 * 查询数据库 => $db->query($sql_str),查询$sql_st ......

MySQL行锁深入研究

     
做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设
id=1
的这本书库存为
1
,但是有
2
个人同时来借这本书,此处的逻辑为
Select restnum from book where id =1 ;
-- 如果 restnum 大于 0 ,执行 update
Update boo ......

查看mysql版本的四种方法

转自:http://www.yayu.org/look.php?id=113
1:在终端下:mysql -V。
以下是代码片段:
[shengting@login ~]$ mysql -V
mysql  Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686)
    2:在mysql中:mysql> status;
以下是代码片段:
mysql> status;
--------------
mysql  ......

MySQL锁用法介绍

http://book.51cto.com/art/200803/68118.htm
摘要:《深入浅出MySQL——数据库开发、优化与管理维护》从数据库的基础、开发、优化、管理4方面对MySQL进行了详细的介绍,其中每一部分都独立成篇,每一篇又包括多个章节。本书面向实用,内容覆盖广泛,讲解由浅入深,适合于各个层次的读者。
第20章 锁问题
锁是 ......

注意Mysql数据截断

Beware of MySQL Data Truncation
http://www.mysqlperformanceblog.com/2009/02/07/beware-of-mysql-data-truncation/
比如:有一个表aritcle和另一个表article_comment,关联是article的id
CREATE TABLE `article` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(200) NOT NULL,
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号