主库配置

1. 配置mysql

vim /etc/my.cn# 在文件中增加以下内容server-id=1 # 保证server id唯一log-bin = /var/lib/mysql/mysql-bin.logbinlog-do-db = db1 binlog-do-db = db2

2. 添加复制用户

通过phpmyadmin,添加新用户,并授予REPLICATION SLAVE权限。或者通过root用户登录到mysql,赋予权限:

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'password'

3. dump数据

如果能够保证不会产生新数据,就不需要对数据库加锁。如果不能保证,则需要对每一个dump数据的数据库加锁:

use db1;FLUSH TABLES WITH READ LOCK;
mysqldump -uroot -p db1 > db1.sql

4. 查看二进制文件位置

使用root身份登录mysql,查看master状态:

show master status;
+-----------------+-----------+----------------+------------------+| File  | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-----------------+-----------+----------------+------------------+| mysql-bin.00002 | 445 | db1,db2 |   |+-----------------+-----------+----------------+------------------+1 row in set (0.00 sec)

如果导出数居前对数据库加了读锁,则需要解除:

use db1;UNLOCK TABLES;

从库配置

1. 新建数据库

首先在从库上建立相同名称的数据库。

2. 配置从数据库

vim /etc/my.cnf# 在my.cnf中增加以下内容:server-id = 2 # 保证id唯一relay-log = /var/lib/mysql/mysql-relay-bin.logreplicate-wild-do-table = db1.%replicate-wild-do-table = db2.%

3. 导入数据

将主服务器上dump出来的数据导入从服务器中:

mysql -uroot -p db1 < db1.sql

登录到mysql服务器,配置同步的主服务器信息:

> change master to master_host='xxx.xxx.xx.xx',> master_user='repl',> master_password='password',> master_log_file='mysql-bin.00000x',> master_log_pos=xxxx;

测试

在主库上新增记录或者添加表等操作,几乎都能实时反映到从库上。

更多相关文章

  1. Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
  2. Android(安卓)Chromium WebView html js 开发系列
  3. Android(安卓)Calendar使用过程中遇到的问题
  4. CyanogenMod 编译 Google Galaxy Nexus (GSM) 全过程
  5. Android(安卓)启动过程
  6. Android(安卓)启动过程(2)
  7. android 多媒体扫描过程(Android(安卓)Media Scanner Process)
  8. [置顶] Android加载数据过程中的菊花显示
  9. Android的启动过程

随机推荐

  1. android mediaplayer 播放 视频 【转】
  2. Android Handler机制 - handleMessage究
  3. KJFrameForAndroid
  4. Android软件如何自动升级
  5. Android自定义属性时TypedArray的使用方
  6. 使用Docker编译Android系统内核
  7. Android之消息推送实现
  8. Android WebView与JS交互全面详解
  9. Android(安卓)Jetpack架构组件(七)之Work
  10. android平台下音频编码之编译LAME库转码P