MySQL数据库主从复制

本文介绍了MySQL主从复制架构的实战步骤。至少需2台服务器,以1主1从为例,涵盖系统环境准备、master和slave的安装及配置,还说明了如何指定主从信息、启动slave并查看状态,最后通过创建数据库、表和插入数据进行测试,完成主从复制配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql主从复制

MysQL主从复制环境构建至少需2台服务器,可以配置1主多从,多主多从,以1主1
从为例,MySQ1.主从复制架构实战步骤如下。
(1)系统环境准备
master:192.168.0.134
slave:192.168.0.135
(2) master安装及配置
master端使用源码安装MySQl.5.5版本软件后,在/etc/my.cnf配置文件[ mysqld]段中加入如下代码,然后重启 MySQL服务即可,如果在安装时 cp my-large.cnf /etc/ my.cnf,则无须添加如下代码:
server-id=1
log-bin=mysql-bin
master端/etc/my.cnf完整配置代码如下:
[client]
port=3306
socket=/tmp/mysql. sock
[mysqld]
port=3306
socket=/tmp/mysql.sock
skip-external-locking
key_buffer_size= 256MB
max_allowed_packet= 1MB
table_open_cache=256MB
sort_buffer_size=1MB
read_buffer_size=1MB
read_rnd_buffer_size=4MB
myisam_sort_buffer_size=64MB
thread_cache_size=8
query_cache_size=16MB
thread_concurrency=8
log-bin=mysql-bin
binlog_format=mixed
server- id= 1
[mysqldump]
quick
max_allowed_packet=16MB
[ mysql]
no- auto- rehash
[myisamchk]
key_buffer_size= 128MB
sort_buffer_size= 128MB
read_buffer= 2MB
write_buffer= 2MB
[mysqlhotcopy]
interactive-timeout
在 master数据库服务器命令行中创建 tongbu用户及密码并设置权限,执行如下查看 bin-log文件及 position点,如图所示。
grant replication slave on . to ‘tongbu’@’%’ identified by ‘song123’;
show master status;

(3) slave安装及配置
slave:端使用源码安装MySQL 5.5版本 软件后,在/etc/my.cnf配置文件[ mysqld]段中加入如下代码,然后重启 MySQL服务即可,如果在安装时 cp my-large.cnf /etc/my.cnf,则需修改 server-id, master与 slave端 server-id不能一样,slave端无须开启 bin-log功能,代码如下:
server-id= 2
slave端/etc/my.cnf完整配置代码如下:
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
skip-external-locking
key_buffer_size=256MB
max_allowed_packet=1MB
table_open_cache=256
sort_buffer_size=1MB
read_buffer_size=1MB
read_rnd_buffer_size=4MB
myisam_sort_buffer_size=64MB
thread_cache_size=8
query_cache_size= 16MB
thread_concurrency=8
server-id=2
[mysqldump]
quick
max_allowed_packet=16MB
no-auto-rehash
[myisamchk]
key_buffer_size=128MB
sort_buffer_size= 128MB
read_buffer=2MB
write_buffer=2MB
[mysqlhotcopy]
interactive- timeout
为slave指定 master IP、用户名、密码、 bin-log文件名( mysql-bin.00028)及position(257),
代码如下:
change master to
master_host=’192 168.0. 134’, master_use= ‘tongbu’, master_password=’song123’, master_log_
file='mysql - bin.000046’, master_log_pos=774;
如图:
在这里插入图片描述
在 slave中启动 slave start,并执行 show slave status\G查看 MySQL.主从状态,代码如下:
slave start;
show slave status\G
如图在这里插入图片描述

查看 slave端I/O线程、SQL.线程状态均为Yes,代表 slave已正常连接 master实现同
步,代码如下:
slave_IO_ Running:Yes
slave_SQL_Running:Yes
执行 Show slave status\G,常见参数含义解析如下:
Slave_IO_State: I/O线程连接 master状态
Master_User:用于连接 master的用户
Master_Port_a: master端监听端口
Connect_Retry:主从连接失败,重试时间间隔。
Master_Log_File:I/O线程读取的 master二进制日志文件的名称。
Read_Master_Log_Pos:IO线程已读取的 master二进制日志文件的位置。
Relay_Log_File:SQL线程读取和执行的中继日志文件的名称
Relay_Log_Pos: SQL线程已读取和执行的中继日志文件的位置。
Relay_Master_Log_File:SQL线程执行的 master二进制日志文件的名称
Slave_IO_Running:I/O线程是否被启动并成功地连接到主服务器上。
Slave_SQL_Running:SQL线程是否被启动。
Replicate_Do_DB:指定的同步的数据库列表
Skip_Counter:SQL_SLAVE_SKIP_COUNTER设置的值。
Seconds_Behind_Master:slave端SQL线程和1/O线程之间的时间差距,单位秒,常被用于主从延迟检查方法之一。
(4)进行测试:
在master端创建tongbu数据库和stu表,命令如下,详情如图所示
mysql> create database tongbu character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> use tongbu;
Database changed
mysql> create table stu(
-> sid int primary key auto_increment,
-> snam varchar(20),
-> sage int
-> )character set utf8;
Query OK, 0 rows affected (0.00 sec)
然后在slave库上进行查看,发现进行了随时进行了备份
在这里插入图片描述
MySQL.主从架构至此配置成功。
在master服务器stu表中插入两条数据,命令如下,在slave查看是否同步,master上执行详情如图所示。
Slave端执行查询命令,如图所示,表示master端插人的SQL数据已经同步到slave端

MySQL数据库主从复制是一种用于解决MySQL单点故障和提高整体服务性能的技术。它的原理是通过将主数据库的更新操作复制到从数据库,使得从数据库可以保持与主数据库的数据一致性。[1] 在实际的生产环境中,主从复制被广泛应用于增加MySQL的可用性和性能。通过配置主从复制,可以实现数据的备份和读写分离,从而提高整体的系统性能。 主从复制MySQL中具有很多优势,它可以提供高可用性、高性能和灵活性。通过主从复制,可以简化MySQL的部署过程,并根据不同的业务需求进行灵活的调整。 总结来说,MySQL数据库主从复制是一种解决单点故障和提高性能的技术,它通过复制数据库的更新操作到从数据库来实现数据的备份和读写分离。这种技术可以提供高可用性、高性能和灵活性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [MySQL数据库——主从复制](https://blog.youkuaiyun.com/qq_41808387/article/details/107009748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [MySQL主从复制](https://blog.youkuaiyun.com/m0_62473957/article/details/124140928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值