简单说一说MySQL Replication环境搭建_MySql_数据库_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 数据库 > MySql > 简单说一说MySQL Replication环境搭建

简单说一说MySQL Replication环境搭建

 2013/8/10 3:27:07    程序员俱乐部  我要评论(0)
  • 摘要:本文我们主要介绍MySQLReplication环境搭建的过程,以实现数据库负载均衡。MySQLReplication环境搭建的具体过程如下:环境:两台ubuntu,一台做Master,一台Slave。Master:ubuntub(192.168.1.101)Slave:ubuntuc(192.168.1.104)Master上的配置如下:ubuntub@ubuntub:/etc/mysql$sudovimy.cnf#bind-address=127.0.0.1//注释掉server
  • 标签:环境搭建 SQL MySQL

本文我们主要介绍MySQL Replication环境搭建的过程,以实现数据库负载均衡。MySQL Replication环境搭建的具体过程如下:

环境:两台ubuntu,一台做Master,一台Slave。

Master: ubuntub(192.168.1.101)

Slave: ubuntuc(192.168.1.104)

Master上的配置如下:

    class="dp-xml">
  1. ubuntub@ubuntub:/etc/mysql$ sudo vi my.cnf  
  2.  
  3.  #bind-address = 127.0.0.1  //注释掉  
  4.  
  5. server-id               = 1  // 给master设置为1,给slave设置为2  
  6.  
  7. log_bin                 = /var/log/mysql/mysql-bin.log  
  8.  
  9. ubuntub@ubuntub:/etc/mysql$ sudo /etc/init.d/mysql restart  
  10.  
  11. ubuntub@ubuntub:/etc/mysql$ mysql -uroot -p  
  12.  
  13. mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep_user'@'%' IDENTIFIED BY 'rep_password';  
  14.  
  15. mysql> FLUSH TABLES WITH READ LOCK;  
  16.  
  17. Query OK, 0 rows affected (0.00 sec)  
  18.  
  19. mysql> SHOW MASTER STATUS;  
  20.  
  21. +------------------+----------+--------------+------------------+  
  22.  
  23. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  24.  
  25. +------------------+----------+--------------+------------------+  
  26.  
  27. | mysql-bin.000001 |      261 |               
  28.  
  29. |                  |  
  30.  
  31. +------------------+----------+--------------+------------------+  
  32.  
  33. 1 row in set (0.02 sec)  
  34.  
  35. mysql> use rep;  
  36.  
  37. mysql> select * from user;  
  38.  
  39. +-------+----+  
  40.  
  41. | name  | id |  
  42.  
  43. +-------+----+  
  44.  
  45. | B     |  1 |  
  46.  
  47. | user3 |  2 |  
  48.  
  49. +-------+----+  
  50.  
  51. 2 rows in set (0.00 sec)  
  52.  
  53. ubuntub@ubuntub:/data/mysql_bak$ mysqldump -uroot -p rep > dbdump.sql  
  54.  
  55. ubuntub@ubuntub:/data/mysql_bak$ mysql -u root -p  
  56.  
  57. mysql> UNLOCK TABLES;  
  58.  
  59. ubuntub@ubuntub:/data/mysql_bak$ scp /data/mysql_bak/dbdump.sql ubuntuc@192.168.1.104:/data/      //把备份数据倒倒slave上 

在Slave上的配置:

  1. ubuntuc@ubuntuc:/data$ sudo vi /etc/mysql/my.cnf  
  2.  
  3. #bind-address           = 127.0.0.1  
  4.  
  5. server-id               = 2 
  6.  
  7. log_bin                 = /var/log/mysql/mysql-bin.log  
  8.  
  9. ubuntuc@ubuntuc:/etc/mysql$ sudo /etc/init.d/mysql restart  
  10.  
  11. ubuntuc@ubuntuc:/data$ mysql -u root -p  
  12.  
  13. mysql> use rep;  
  14.  
  15. mysql> source /data/dbdump.sql   //把数据导入  
  16.  
  17. mysql> CHANGE MASTER TO                            //Change Master  
  18.  
  19.     -> MASTER_HOST='192.168.1.101',  
  20.  
  21.     -> MASTER_USER='rep_user',  
  22.  
  23.     -> MASTER_PASSWORD='rep_password',  
  24.  
  25.     -> MASTER_LOG_FILE='mysql-bin.000001',  
  26.  
  27.     -> MASTER_LOG_POS=261;  
  28.  
  29. mysql> START SLAVE;  
  30.  
  31. mysql> show master status;  
  32.  
  33. +------------------+----------+--------------+------------------+  
  34.  
  35. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  36.  
  37. +------------------+----------+--------------+------------------+  
  38.  
  39. | mysql-bin.000002 |      746 |                
  40.  
  41. |                  |  
  42.  
  43. +------------------+----------+--------------+------------------+  
  44.  
  45. mysql> show slave status;  //查看一下没有错误,比如server-id有冲突的话,可能会导致一些错误。 

测试:

1)在Master上创建一个数据库,然后在Slave上查看,show databases; 应该是可以看到;

2) Master上对rep数据库的user表进行操作,结果立即复制倒slave上;

关于MySQL Replication环境搭建的知识就介绍到这里,如果您想了解更多关于MySQL数据库的知识,可以看一下这里的文章:http://database.51cto.com/mysql/,相信一定会带给您收获的!

发表评论
用户名: 匿名