简单说一说MySQL Replication环境搭建

您当前的位置:   首页 > 首页 > 解决方案
简单说一说MySQL Replication环境搭建
发布时间:2026-03-11 17:15:58

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

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

Master: ubuntub(192.168.1.101)

Slave: ubuntuc(192.168.1.104)

Master上的配置如下:

ubuntub@ubuntub:/etc/mysql$ sudo vi my.cnf    #bind-address = 127.0.0.1  //注释掉   server-id               = 1  // 给master设置为1,给slave设置为2   log_bin                 = /var/log/mysql/mysql-bin.log   ubuntub@ubuntub:/etc/mysql$ sudo /etc/init.d/mysql restart   ubuntub@ubuntub:/etc/mysql$ mysql -uroot -p   mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep_user'@'%' IDENTIFIED BY 'rep_password';   mysql> FLUSH TABLES WITH READ LOCK;   Query OK, 0 rows affected (0.00 sec)   mysql> SHOW MASTER STATUS;   +------------------+----------+--------------+------------------+   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |   +------------------+----------+--------------+------------------+   | mysql-bin.000001 |      261 |                |                  |   +------------------+----------+--------------+------------------+   1 row in set (0.02 sec)   mysql> use rep;   mysql> select * from user;   +-------+----+   | name  | id |   +-------+----+   | B     |  1 |   | user3 |  2 |   +-------+----+   2 rows in set (0.00 sec)   ubuntub@ubuntub:/data/mysql_bak$ mysqldump -uroot -p rep > dbdump.sql   ubuntub@ubuntub:/data/mysql_bak$ mysql -u root -p   mysql> UNLOCK TABLES;   ubuntub@ubuntub:/data/mysql_bak$ scp /data/mysql_bak/dbdump.sql ubuntuc@192.168.1.104:/data/      //把备份数据倒倒slave上 

在Slave上的配置:

ubuntuc@ubuntuc:/data$ sudo vi /etc/mysql/my.cnf   #bind-address           = 127.0.0.1   server-id               = 2  log_bin                 = /var/log/mysql/mysql-bin.log   ubuntuc@ubuntuc:/etc/mysql$ sudo /etc/init.d/mysql restart   ubuntuc@ubuntuc:/data$ mysql -u root -p   mysql> use rep;   mysql> source /data/dbdump.sql   //把数据导入   mysql> CHANGE MASTER TO                            //Change Master       -> MASTER_HOST='192.168.1.101',       -> MASTER_USER='rep_user',       -> MASTER_PASSWORD='rep_password',       -> MASTER_LOG_FILE='mysql-bin.000001',       -> MASTER_LOG_POS=261;   mysql> START SLAVE;   mysql> show master status;   +------------------+----------+--------------+------------------+   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |   +------------------+----------+--------------+------------------+   | mysql-bin.000002 |      746 |                 |                  |   +------------------+----------+--------------+------------------+   mysql> show slave status;  //查看一下没有错误,比如server-id有冲突的话,可能会导致一些错误。 

测试:

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

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

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