设为首页
收藏本站
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
首页
BBS
搜索
搜索
热搜:
活动
交友
discuz
本版
帖子
京峰教育-Linux技术论坛
»
首页
›
默认篇
›
Linux集群服务
›
MySQL 8.x主从复制实战
返回列表
发新帖
查看:
983
|
回复:
1
MySQL 8.x主从复制实战
[复制链接]
admin
admin
当前离线
积分
164
22
主题
21
回帖
164
积分
管理员
积分
164
发消息
发表于 2024-8-20 16:46:53
|
显示全部楼层
|
阅读模式
MYSQL8.x主从复制环境构建至少需2台服务器,可以配置1主多从,多主多从,如下为1主1从,MYSQL主从复制架构实战步骤:
(1)系统环境准备
Master:192.168.101.128
Slave: 192.168.101.129
复制代码
(2)Master安装及配置
在MYSQL Master端安装MySQL-8.x软件服务,在/etc/my.cnf 配置文件[mysqld]段中加入如下代码设置server-id和bin-log文件名称,然后重启MYSQL服务即可。添加如下代码:
server-id = 1
log-bin = mysql-bin
复制代码
(3)Master端/etc/my.cnf完整配置代码如下:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
复制代码
(4)在Master数据库上创建tongbu用户及密码并设置权限,执行如下命令,查看bin-log文件及position点,如图11-13所示:
#创建tongbu用户;
CREATE USER 'tongbu'@'%' IDENTIFIED WITH mysql_native_password BY 'aaaAAA111.';
#授权同步权限;
GRANT REPLICATION SLAVE ON *.* TO 'tongbu'@'%';
#查看master状态;
show master status;
复制代码
图11-13 MYSQL Master授权用户
(5)Slave安装及配置
Slave端安装MySQL-8.x软件服务,在/etc/my.cnf 配置文件[mysqld]段中加入如下代码,然后重启MYSQL服务即可。如果在安装时cp my-large.cnf /etc/my.cnf,则需修改server-id,MASTER与Slave端server-id不能一样,Slave端也无需开启bin-log功能:
server-id = 2
复制代码
(6)Slave端/etc/my.cnf完整配置代码如下:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
server-id = 2
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
复制代码
(7)Slave指定Master IP、用户名、密码、bin-log文件名(mysql-bin.000028)及position(257),代码如下:
change master to
master_host='192.168.101.128',master_user='tongbu',master_password='aaaAAA111.',master_log_file='mysql-bin.000028',master_log_pos=257;
复制代码
(8)在slave启动slave start,并执行show slave status\G查看Mysql主从状态:
slave start;
show slave status\G
复制代码
(9)查看Slave端IO线程、SQL线程状态均为YES,代表Slave已正常连接Master实现同步:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
复制代码
(10)执行Show slave status\G,常见参数含义解析:
Slave_IO_State I/O线程连接Master状态;
Master_User 用于连接Master的用户;
Master_Port Master端监听端口;
Connect_Retry 主从连接失败,重试时间间隔;
Master_Log_File I/O线程读取的Master二进制日志文件的名称。
Read_Master_Log_Pos I/O线程已读取的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线程和I/O线程之间的时间差距,单位为秒,常被用于主从延迟检查方法之一。
复制代码
(11)在Master端创建mysql_db_test数据库和t0表,如图11-14所示,命令如下:
create database mysql_ab_test charset=utf8;
show databases;
use mysql_ab_test;
create table t0 (id varchar(20),name varchar(20));
show tables;
复制代码
图11-14 MYSQL master创建数据库和表
(12)Slave服务器查看是否有mysql_ab_test数据库和t0的表,如果存在则代表Slave从Master复制数据成功,证明MYSQL主从配置至此已经配置成功,如图11-15所示:
图11-15 MYSQL Slave自动同步数据
(13)在Master服务器的t0表插入两条数据,在slave查看是否已同步,master上执行如下图11-16所示:
insert into t0 values (“001”,”wugk1”);
insert into t0 values (“002”,”wugk2”);
select * from t0;
复制代码
图11-16 MYSQL Master insert数据
(14)Slave端执行查询命令,如图11-17所示,表示在Master插入的数据已经同步到Slave端:
图11-17 MYSQL Slave数据已同步
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
举报
admin
admin
当前离线
积分
164
22
主题
21
回帖
164
积分
管理员
积分
164
发消息
楼主
|
发表于 2024-8-20 16:58:25
|
显示全部楼层
这东西我收了!谢谢楼主!
京峰教育Linux论坛
真好!
回复
举报
返回列表
发新帖
懒得打字嘛,点击右侧快捷回复
选择快捷回复
楼主发贴辛苦了,谢谢楼主分享!
楼主太厉害了!楼主,I*老*虎*U!
这个帖子不回对不起自己!
这东西我收了!谢谢楼主!
我看不错噢 谢谢楼主!
既然你诚信诚意的推荐了,那我就勉为其难的看看吧!
其实我一直觉得楼主的品味不错!呵呵!
感谢楼主的无私分享!
楼主,大恩不言谢了!
楼主,我太崇拜你了!
社区不能没有像楼主这样的人才啊!
【右侧内容,后台自定义】
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表