MySQL主从复制是一种数据复制技术,可以将一个MySQL数据库实例中的数据复制到另一个实例中。主要用于负载均衡和数据备份,以及数据分析等方面。
在MySQL主从复制中,主数据库是指负责产生数据变化的数据库实例。从数据库则是指被动接收主数据库的数据变化的实例。主数据库会将数据变化记录到二进制日志中,并将日志文件传输给从数据库,从数据库再根据日志文件反向执行相同的数据操作。
以下是一个简单的MySQL主从复制示例:
主数据库:# 在主数据库中开启二进制日志记录mysql>SET @@global.log_bin_trust_function_creators=1;mysql>SET @@global.log_bin=ON;# 创建一个名为test的数据库和一张名为users的表mysql>CREATE DATABASE test;mysql>USE test;mysql>CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT NULL, age INT NOT NULL);# 向users表中插入一条数据mysql>INSERT INTO users (name, age) VALUES ('Bob', 25);从数据库:# 设置从数据库连接主数据库mysql>CHANGE MASTER TO MASTER_HOST='主数据库IP地址', MASTER_USER='从数据库用户名', MASTER_PASSWORD='从数据库密码';# 开启从数据库复制mysql>START SLAVE;# 查看从数据库是否连接主数据库并进行复制mysql>SHOW SLAVE STATUS;# 在从数据库中查询users表查看是否复制成功mysql>USE test;mysql>SELECT * FROM users;
MySQL主从复制具有高可靠性、高可用性和容错性等优点,适用于中大型网站或应用程序的数据部署和备份。