首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL主从复制配置

MySQL主从复制配置

作者头像
CBeann
发布于 2023-12-25 18:01:50
发布于 2023-12-25 18:01:50
6500
举报
文章被收录于专栏: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 删除
目录
  • 前提条件
  • 修改master结点
  • 修改slave结点
  • 参考
  • 遇到的问题
    • 如果master结点有数据单没开二进制文件,此时如何实现主从复制?
    • 安装centos7
    • 安装mysql(亲测)
    • mysql错误1130或者mysql运行远程访问
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档