Mysql 主从复制

VMware Workstation Pro创建两个Linux(CentOS7)虚拟机,并通过XShell操控两台虚拟机并配置好Mysql,接着做Mysql主从复制操作

主服务器(master):192.168.30.100

从服务器(slave):192.186.30.102

   准备工作

        主服务器的Mysql环境中,创建需要的Database和table

show databases;
create database master_slave_copy;
use master_slave_copy;
create table master_tab(id int auto_increment primary key,name varchar(10));
select * from master_tab;
#Empty Set

        从服务器的Mysql环境中,创建需要的Database和table

create database master_slave_copy;
use master_slave_copy;
create table master_tab(id int auto_increment primary key,name varchar(10));
select * from master_tab;
#Empty Set

正式操作:

1.Master虚拟机通过mysql -uroot -padmin进入mysql环境;接着在Mysql环境下输入:grant replication slave on *.* to 'mingzheli'@'%'identified by 'admin';

含义为建立一个帐户mingzheli,并且允许从所有的IP地址即%登陆,密码是admin。

接着输入:FLUSH PRIVILEGES; 刷新系统权限表的配置

2. Slave 虚拟机环境下输入:mysql -h192.168.30.100 -umingzheli -padmin测试能否登陆mysql成功

3. Master虚拟机环境下输入vi /etc/my.cnf,新增下述四行设置,黏贴在mysqld下

server-id = 1   //server—id 主服务器A的ID值

log-bin = mysql-bin  // 开启binlog,后续查询二进制文件是否打开,On即为打开,可在mysql环境中输入:show variables like '%log_bin%';

binlog-do-db = master_slave_copy //需要同步的数据库,如果不配置则同步全部数据库

binlog-ignore-db = information_schema,mysql,performance_schema//无需开启二进制日志文件的数据库,多个数据库则要重复设置

4. 配置完成后,输入service mysqld start重启mysql服务

5. Master Mysql环境中上读锁,flush tables with read lock;

6. Master Mysql环境中输入show master status\G 当前binlog日志的信息,记住前两行File和Position的内容

7. Master Mysql环境中输入unlock tables解锁

8. Slave虚拟机环境下输入vi /etc/my.cnf,新增下述四行设置,黏贴在mysqld下

[mysqld]

server-id = 2 //区别于Master的server—id,不能重复

log-bin = mysql-bin

replicate-do-db = master_slave_copy //需要复制的数据库名

replicate-ignore-db = information_schema,mysql,performance_schema//不需要复制的数据库名

9.配置完成后,输入service mysqld start重启mysql服务

10.Slave虚拟机环境输入:mysql -uroot -padmin登陆mysql

11. Slave Mysql环境输入stop slave;接着

输入:

change master to
master_host='192.168.30.100',
master_user='mingzheli',
master_password='admin',
master_log_file='mysql-bin.000001',
master_log_pos=404;

解释:

change master to

master_host='192.168.30.100', //主机IP

master_user='mingzheli', //之前创建的用户账号

master_password='admin', //之前创建的用户密码

master_log_file='mysql-bin.000001', //master主机的binlog日志名称

master_log_pos=404; //binlog日志偏移量

10. Slave Mylsql环境输入Start slave

11. Slave Mysql环境输入show slave status\G //此处注意不要加;否则会出现Error:No query specified报错

Slave_IO_Running 和 Slave——SQL_Running均显示Yes即为成功

后续可自行增删改查Master的table数据,用于检测Slave的table数据是否同步更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值