记录一下在云服务器上配置MYSQL主从。

 一.使用Docker创建容器

docker run 创建容器

--name 容器名称

--restart 重启策略

-p 端口映射

-e 设置环境变量 

-d 后台运行容器,并打印ID

 

#创建主机
docker run --name MySQL-Master --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
#创建三台从机

docker run --name MySQL-Slave01 --restart always -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
docker run --name MySQL-Slave02 --restart always -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
docker run --name MySQL-Slave03 --restart always -p 3309:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

二.进入容器,修改配置文件

之前用OpenEuler做练习的的时候mysql的配置文件在/etc/mysql/my.cnf,这次用的CentOS,配置文件在/etc/my.cnf

1.进入主机

 docker exec -it MySQL-Master bash

 2.进入mysql,查看server_id

#进入Mysql
mysql -uroot -proot
#查看server_id
show variables like 's
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在不同服务器上使用GTID配置Mysql主从的详细步骤如下: 1. 在主库和从库上分别启用GTID功能,可以通过在my.cnf文件中添加以下参数来启用GTID: 在主库的my.cnf文件中添加以下参数: ``` server_id=1 enforce_gtid_consistency=1 log_bin=mysql-bin binlog_format=row ``` 在从库的my.cnf文件中添加以下参数: ``` server_id=2 enforce_gtid_consistency=1 log_bin=mysql-bin binlog_format=row ``` 其中,server_id是服务器ID,需要保证主库和从库的server_id不同;enforce_gtid_consistency参数用于开启GTID功能;log_bin参数指定Binlog文件名;binlog_format参数指定Binlog格式,必须为row格式。 2. 在主库上创建一个用于复制的用户,并为该用户赋予REPLICATION SLAVE权限,以便从库可以连接到主库并读取Binlog: ```sql CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; ``` 3. 在主库上获取当前复制状态的GTID信息: ```sql SHOW MASTER STATUS; ``` 记录下结果中的File和Position信息,以便在后面的步骤中使用。 4. 在从库上创建复制通道,并指定主库的地址、用户名、密码和GTID信息: ```sql CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1; ``` 其中,MASTER_HOST指定主库的地址;MASTER_USER和MASTER_PASSWORD指定主库连接所需的用户名和密码;MASTER_AUTO_POSITION参数指定使用GTID进行数据同步。 5. 在从库上启动复制进程,读取主库上的Binlog,并根据GTID进行数据同步: ```sql START SLAVE; ``` 从库会读取主库上的Binlog,并根据GTID进行数据同步,如果有新的事务产生,主库会为其分配一个新的GTID,并通知从库进行同步。如果出现异常情况,从库会根据GTID自动重新开始同步,确保数据的一致性。 需要注意的是,如果主库和从库之间的网络连接比较慢,可能会导致GTID信息同步不及时,从而出现数据不一致的情况。此时可以通过调整gtid_executed_compression_period参数来缓解这个问题,该参数指定GTID信息的压缩时间间隔,单位为秒。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值