mysql主从复制(master-slave)实录

    xiaoxiao2024-11-20  6

    1、VWare构建两台虚拟机,win7系统;

    备注:VWare构建的虚拟机极有可能导致相互间ping不通,会对后续操作产生极大影响,因此要在开始就排除该异常;

    2、基本信息:

          master的IP:192.168.8.129;

          slave的IP:192.168.8.130;

          mysql:mysql-5.7.x

    3、开始配置:

    一、主服务器(master)配置

    1、修改MySQL配置文件my.ini

    [mysqld]

    log-bin=mysql-bin log-bin-index=mysql-bin.index server-id=1 sync_binlog=1 binlog_format=mixed binlog-do-db=test binlog-ignore-db=mysql binlog-ignore-db=performance_schema binlog-ignore-db=information_schema

    配置完成后重启MySQL服务。

    2、授权给从服务器(slave)同步数据的账号密码

    GRANT REPLICATION SLAVE ON *.*TO 'slave1'@'192.168.8.130' IDENTIFIED BY '123';

    参数说明:

    slave1:slave连接master使用的账号IDENTIFIED BY '123' :slave连接master使用的密码192.168.8.130:slave IP

    执行命令show master status;

    注意结果中的File和Position,配置从服务器(slave)时会用到

    file:mysql-bin.000007

    position:154

    二、从服务器(slave)配置

    1、修改MySQL配置文件my.ini

    [mysqld]

    server-id=2 log-bin=mysql-bin relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin sync_master_info=1 sync_relay_log=1 sync_relay_log_info=1

    注意:slave的server-id与master的server-id不能一致,必须保证是唯一的。

    2、设置连接主服务器(master)的信息

    change master to master_host='192.168.8.129',master_user='slave1',master_port=3306,master_password='123',master_log_file='mysql-bin.000007',master_log_pos=154

    参数说明:

    master_host:master IPmaster_user:master数据库通过GRANT授权的账号master_port:master数据库使用的端口号master_password:master数据库通过GRANT授权的密码master_log_file:master数据库中通过show master status显示的File名称master_log_pos:master数据库中通过show master status显示的Position数据

    重启MySql服务。

    执行命令:start slave。

    执行命令:show slave status。

    当Slave_IO_Running与Slave_SQL_Running都为Yes时才算配置成功。

    此时,master服务器上test数据库里的数据就能同步到slave服务器上的test数据库中。

    问题备份:

    1、Slave_IO_Running:NO

    两台虚拟机互相ping不通过,调整后重启mysql,仍不行!

    查看mysql错误日志发现:

    [ERROR] Slave I/O for channel '': Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593

    出现这个问题的原因是:我创建完一台虚拟机并安装玩mysql后,直接克隆一台新的虚拟机。这也导致了两台虚拟机的mysql文件都是一样的!server-uuid参数在auto.cnf文件,位于 mysql【data】路径下,修改后要重启mysql! 本博客是参考了网上大牛们的文章的配置实录,感谢大牛们的辛勤付出!
    转载请注明原文地址: https://ju.6miu.com/read-1293822.html
    最新回复(0)