您的位置:宽带测速网 > mysql教程 > 怎么使用MySQL master/slave

怎么使用MySQL master/slave

2025-06-22 17:05来源:互联网 [ ]

Master my.ini

    basedir = D:\mysql_test\mysql-5.7.17-master

    datadir = D:\mysql_test\mysql-5.7.17-master\data

    port = 3306

    log-bin=mysql-bin

    server_id=1

    binlog-ignore-db=information_schema

    binlog-ignore-db=cluster

    binlog-ignore-db=mysql

    binlog-do-db=test

Slave my.ini

    basedir = D:\mysql_test\mysql-5.7.17-slave

    datadir = D:\mysql_test\mysql-5.7.17-slave\data

    port = 3307

    log-bin=mysql-bin

    server-id=2

    binlog-ignore-db=information_schema

    binlog-ignore-db=cluster

    binlog-ignore-db=mysql

    replicate-do-db=test

    replicate-ignore-db=mysql

    log-slave-updates

    slave-skip-errors=all

    slave-net-timeout=60

Master 运行
mysql>CREATE USER 'rep'@'%' IDENTIFIED BY 'rep';
mysql> GRANT FILE ON *.* TO 'rep'@'%' IDENTIFIED BY 'rep';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep'@'%' IDENTIFIED BY 'rep';
mysql> FLUSH PRIVILEGES;

mysql> show master status;
+------------------+----------+--------------+----------------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+----------------------------------+-------------------+
| mysql-bin.000002 | 4570 | test | information_schema,cluster,mysql ||
+------------------+----------+--------------+----------------------------------+-------------------+

Slave 运行
mysql>CREATE USER 'rep'@'%' IDENTIFIED BY 'rep';
mysql> change master to master_host='localhost',master_user='rep',master_password='rep',master_log_file='mysql-bin.000002', master_log_pos=4570;

mysql> start slave;
mysql> show slave status;

Slave_IO_Running 和 Slave_SQL_Running都是 Yes 表示成功。
Master创建数据库,创建表,添加数据,会自动复制到Slave。