IT技术博客大学习 共学习 共进步

MySQL 单向同步实现

DBA Blog 2009-11-06 13:26:04 浏览 3,026 次

    实例主机:

    dbasky=192.168.1.120

    dbaskyback=192.168.1.121

    目的:dbaskyback的主机去同步dbasky主机test库上的数据

    安装mysql

以下是代码片段:
    [root@dbasky]#wget ftp://ftp.cronyx.ru/pub/FreeBSD/ports/distfiles/mysql-5.0.45.tar.gz
    [root@dbasky]#cd /usr/local/mysql-5.0.45
    [root@dbasky]#groupadd mysql
    [root@dbasky]#useradd -g mysql mysql
    [root@dbasky]#mkdir /opt/mysql-data
    [root@dbasky]#CFLAGS="-O3 " CXX=gcc CXXFLAGS="-O3 -felide-constructors \\
    -fno-exceptions -fno-rtti" ./configure             --prefix=/usr/local/mysql --enable-assembler             --with-charset=utf8             --with-extra-charsets=gbk,gb2312,latin1             --localstatedir=/opt/mysql-data             --with-mysqld-user=mysql --enable-large-files --with-big-tables             --without-debug --enable-thread-safe-client             --with-fast-mutexes             --with-innodb
    [root@dbasky]#make
    [root@dbasky]#make install
    [root@dbasky]#cd /etc
    [root@dbasky]#rz my.cnf
    [root@dbasky]#chown -R mysql .
    [root@dbasky]#chgrp -R mysql .
    [root@dbasky]#chown -R mysql /opt/mysql-data
    [root@dbasky]#chgrp -R mysql /opt/mysql-data
    [root@dbasky]#bin/mysql_install_db --user=mysql
    [root@dbasky]#chown -R root .
    [root@dbasky]#bin/mysqld_safe --user=mysql & 
    [root@dbasky]#cd  /usr/local/mysql
    [root@dbasky]#echo "PATH=/usr/local/mysql/bin:\\$PATH" >> /etc/profile
    [root@dbasky]#echo "export PATH" >> /etc/profile
    [root@dbasky]#echo "alias vi=\\"vim\\"" >> /etc/profile
    [root@dbasky]#echo "/usr/local/mysql/lib/mysql" > /etc/ld.so.conf.d/mysql.conf

    在dbasky机器上

    建立用户

以下是代码片段:
    mysql>create database test;
    mysql>grant all on *.* to xu@\’192.168.1.121\’ identified by \’123456\’;
      [root@dbasky]#vi /etc/my.cnf
      server-id=1 #为master
      log-bin=/var/log/mysql/mysql.log

    添加 

以下是代码片段:
     binlog-do-db=test #要同步的数据库名字

    重新启动mysql

    用 mysql>show master status 查看

    在dbaskyback机器上

以下是引用片段:
    dbaskyback#vi /etc/my.cnf
      server-id=2 #为slave
      master-host=192.168.1.120
      master-user=xu
      master-password=123456
      master-port=3306
      master-connect-retry=60 #间隔60秒重新设置
      replicate-do-db=test

    用mysql>show slave status 看同步情况,如果有错误也可以看得出来.

建议继续学习

  1. mysql 主从配置中的server-id的作用 (阅读 7,662)
  2. 内存表在同步环境注意事项 (阅读 5,585)
  3. 也谈PostgreSQL的同步配置(Slony) (阅读 5,407)
  4. MySQL5.5数据库复制搭建报错之Could not initialize master info structure (阅读 5,284)
  5. PHP查询MySQL大量数据的内存占用分析 (阅读 4,924)
  6. MTU值的调整导致MySQL复制异常 (阅读 4,663)
  7. MySQL复制的概述、安装、故障、技巧、工具 (阅读 4,264)
  8. mysql主从同步快速设置 (阅读 3,842)
  9. [MySQL优化案例] — slave延迟很大优化方法 (阅读 3,845)
  10. 如何监控主从之间的延时:seconds_behind_master OR mk-heartbeat (阅读 3,824)