以下是详细讲解“MYSQL5.6.33数据库主从(Master/Slave)同步安装与配置详解(Master-Linux Slave-windows7)”的完整攻略。
MySQL主从复制是一种基于二进制日志的复制方式,通过主库将产生的二进制日志传输到从库,在从库上重新执行来实现数据同步。这种方式可以减轻主库的负担并提高可用性。
# example.cnf
server-id=1
log-bin=master-bin
binlog-format=row
mysql> CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
mysql> flush privileges;
mysql> SHOW MASTER STATUS;
# example.ini
server-id=2
relay-log=slave-relay-bin
log-bin=slave-bin
binlog-format=row
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.1.1',
MASTER_USER='slave', MASTER_PASSWORD='slave',
MASTER_LOG_FILE='master-bin.000001',
MASTER_LOG_POS=4;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G
CREATE DATABASE db_test;
USE db_test;
CREATE TABLE test (id INT, col1 VARCHAR(20));
INSERT INTO test VALUES (1, 'test_record_1');
SHOW MASTER STATUS;
SHOW DATABASES;
可以发现db_test没有同步到从库
START SLAVE;
SHOW SLAVE STATUS\G
INSERT INTO test VALUES (2, 'test_record_2');
USE db_test;
SELECT * FROM test;
可以看到,test记录已经被同步到从库
CREATE TABLE test2 (id INT, col1 VARCHAR(20));
CREATE TABLE test2_sub (id INT, col1 VARCHAR(20));
INSERT INTO test2 VALUES (1, 'test_record_1');
SELECT * FROM test2_sub;
USE db_test;
SHOW TABLES;
DROP TABLE test2_sub;
USE db_test;
SHOW TABLES;
可以看到test2_sub表已经不再存在。
通过以上示例可以看到,主从复制可以有效的实现数据的同步,大大提高了系统的可用性和稳定性。
本文链接:http://task.lmcjl.com/news/13999.html