MySql配置主从服务器复制数据库数据

主从服务器MySql版本尽可能一致。如果不一致的情况此文没考虑。

主服务器必须开启二进制日志文件。查看是否开启:

SHOW VARIABLES LIKE 'log_bin';

开启方法,只需要在配置文件添加如下配置:

[mysqld]

log-bin=mysql-bin
 

1、MySql主服务器配置

(1)修改配置文件my.ini或my.cnf

[mysqld]  
server-id=1  
log_bin=mysql-bin  
binlog_do_db=your_database_name
重启主服务器以使更改生效。

然后,登录到主服务器,创建复制用户:

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';  
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';  
FLUSH PRIVILEGES;

2、从服务器配置

[mysqld]  
server-id=2  
relay_log=mysql-relay-bin  
log_bin=mysql-bin  
read_only=1

binlog_do_db=jhtqs-data343(数据库名称)

relay_log的值需要查看一下从服务器相应文件,是否是mysql-relay-bin。我的是dell-pc-relay-bin

重启从服务器以使更改生效。
然后,登录到从服务器,设置主服务器的位置:

CHANGE MASTER TO MASTER_HOST='master_ip_address', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.XXXXXX', MASTER_LOG_POS=XXXX;  
START SLAVE;

在执行这个语句之前,你需要确保 'mysql-bin.XXXXXX' 和 XXXX 的值是正确的,通常是从主服务器的 SHOW MASTER STATUS; 命令的输出中获取的。

如果启动不成功,应该是配置的主服务器地址或账号有错误,或是账号没有足够的权限。

遇到的一个错误:

Slave SQL for channel '': Could not execute Update_rows event on table jhtqs-data343.qrtz_scheduler

遇到以上错误,是主从服务器相应的这个表记录不一致。把记录修改一致后,成功启动。

如果配置成功,修改主服务器数据数据,从服务器会跟着变化了。

3、Doker下MySql配置文件修改

Linux下docker内的Mysql可用以下方式进行配置修改:

#docker -it <容器名或ID> /bin/bash

进入容器后,配置文件在以下地址:

# cd /ect/mysql/   可能会因为 系统有变化。找到则可。

# vi my.cnf 即可修改。

如果没有vi需要安装。

在Ubuntu/Debian系统中,可以使用以下命令安装vim:

sudo apt-get install vim

在CentOS/RedHat系统中,可以使用以下命令安装vim:

sudo yum install vim

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值