简单说一说MySQL Replication环境搭建

数据库 MySQL
我们知道,MySQL Replication是比较简单且常见的一种数据库负载均衡方法。本文主要就介绍MySQL Replication的环境搭建过程,希望能对您有所帮助。

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

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

Master: ubuntub(192.168.1.101)

Slave: ubuntuc(192.168.1.104)

Master上的配置如下:

 

  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/,相信一定会带给您收获的!

【编辑推荐】

 

  1. 详解Oracle数据库手动注册监听的方法
  2. SQL Server数据库主键及复合主键的配置
  3. 详解Windows下通过ODBC方式访问PostgreSQL
  4. SQL SERVER数据挖掘之如何实现Web路径流挖掘
  5. SQL SERVER数据挖掘之理解聚类算法和顺序聚类算法
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2011-07-25 17:38:32

数据存储一致性模型

2021-06-27 21:10:12

Linux 进程控制

2024-02-27 00:10:06

语言Javascript

2021-07-31 22:20:00

线程池系统参数

2021-01-06 17:28:00

MySQL数据库缓存池

2020-10-30 10:38:50

Python开发语法

2011-07-25 13:34:08

ORACLEFLASHBACK T

2015-10-23 11:40:08

SaaS应用开发

2023-12-29 10:28:24

SPIJava灵活性

2018-01-17 15:15:22

虚拟化IO半虚拟化

2018-04-09 15:10:50

测试方法新手软件

2021-03-09 10:05:06

5G运营商技术

2023-03-13 22:09:59

JavaSpring机制

2023-07-31 07:15:09

漏洞调试环境

2024-04-18 11:53:59

通讯协议网络

2021-01-22 11:58:30

MySQL数据库开发

2023-10-26 00:41:46

脏读数据幻读

2019-07-08 10:00:52

Java内存模型并发

2011-05-30 10:46:40

PHP

2011-05-31 14:06:10

Oracle分区
点赞
收藏

51CTO技术栈公众号