前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL主从复制配置

MySQL主从复制配置

作者头像
CBeann
发布2023-12-25 18:01:50
1640
发布2023-12-25 18:01:50
举报
文章被收录于专栏:CBeann的博客CBeann的博客

前提条件

  • Centos7系统:192.168.6.220(master),192.168.6.221(slave) (安装Centos7和mysql在最后)
  • mysql:mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz(安装Centos7和mysql在最后)

搭建环境之前一定要快照、一定要快照、一定要快照

修改master结点

修改my.cnf文件

代码语言:javascript
复制
### 要求各个服务器的ID必须不一样
server-id=1
### 开启bin log日志以及一些参数
log-bin=/var/log/mysql/mysql-bin
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
### 同步的数据库名称为dbname 
#binlog-do-db=dbname 

创建bin-log目录并且赋予权限

代码语言:javascript
复制
mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql

确保在主服务器上 skip_networking 选项处于 OFF关闭状态, 这是默认值。如果是启用的,则从站无法与主站通信,并且复制失败。

创建一个专门用于复制数据的用户

代码语言:javascript
复制
###创建用户名为repl密码为123456的用户
CREATE USER 'repl'@'%' ;
GRANT REPLICATION SLAVE ON *.*  TO  'repl'@'%'  identified by  '123456';

保证repl用户能正常访问数据

代码语言:javascript
复制
mysql -h127.0.0.1 -urepl -p

重启master上mysql服务

代码语言:javascript
复制
service mysqld restart

查看结点状态

代码语言:javascript
复制
show master status;

修改slave结点

修改my.cnf文件

代码语言:javascript
复制
[mysqld]
server-id=2

重新启动mysql服务

代码语言:javascript
复制
service mysqld restart

与master建立连接

代码语言:javascript
复制
mysql>CHANGE MASTER TO MASTER_HOST = '192.168.6.221',
 MASTER_USER = 'repl',
 MASTER_PASSWORD = '123456',
 MASTER_PORT = 3306,
 MASTER_LOG_FILE = 'mysql-bin.000001',
 MASTER_LOG_POS = 0;

mysql>START SLAVE;

查看当前结点的状态

代码语言:javascript
复制
show slave status;

参考

博客

Mysql 主从复制 - 简书

哔哩哔哩

mysql主从复制实战详解_一点课堂(多岸学院)_哔哩哔哩_bilibili

博客:MYSQL同步故障:" SLAVE_SQL_RUNNING:NO" 两种解决办法

MySQL同步故障:" Slave_SQL_Running:No" 两种解决办法 - 沅来是澧 - 博客园

遇到的问题

如果master结点有数据单没开二进制文件,此时如何实现主从复制?

1)背备master数据库到slave数据库 2)开始master二进制文件 3)配置。。。

Mysql 主从复制 - 简书

安装centos7

VMware 安装 Centos7 超详细过程 | 菜鸟教程

安装mysql(亲测)

Centos 离线安装 MySQL 详细步骤 | 郝继亮的笔记

mysql错误1130或者mysql运行远程访问
代码语言:javascript
复制
mysql -u root -p
use mysql;
 
 
//修改密码
update user set password=password("123456") where user = "root" and host = "localhost";
 
//修改远程登录
update user set host='%' where host='localhost' and user='root';
 
//刷新
flush privileges;
 
 
service mysqld stop
service mysqld start
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前提条件
  • 修改master结点
  • 修改slave结点
  • 参考
  • 遇到的问题
    • 如果master结点有数据单没开二进制文件,此时如何实现主从复制?
      • 安装centos7
        • 安装mysql(亲测)
          • mysql错误1130或者mysql运行远程访问
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档