mysql8.4.2数据库做主从复制

打印 上一主题 下一主题

主题 1663|帖子 1663|积分 4989

linux rocky 9.2系统安装mysql-wsrep-8.4.2-26.20-linux-x86_64.tar.gz二进制包-CSDN博客文章浏览阅读472次,点赞7次,收藏4次。linux rocky 9.2系统安装mysql-wsrep-8.4.2-26.20-linux-x86_64.tar.gz二进制包
https://blog.csdn.net/xikui1551/article/details/141021530?spm=1001.2014.3001.55021.情况预备
  情况引用上一篇文章做好的数据库情况,可提供参考。
  2.预备两台数据库服务器(Rocky linux 9.2+mysql8.4.2-26.20)
  
  主机名                                                IP
  mysql_master(主数据库)            192.168.0.103
  mysql_slave   (从数据库)            192.168.0.106
  

  

  3.主库设置
  
  关于log-bin是否要设置可以通过查询,MySQL8是默认开启的,MySQL5.7及以下版本默认未开启。当然如果是MySQL8版本你也可以重新指定bin-log文件名称。
  show variables like 'log_bin%'; 
  

  vim /etc/my.cnf
  #服务器ID
  server_id=103
  #打开主库binlog日志,并设置文件名前缀
log-bin=master-mysql-bin
  
  保存,退出,重启数据库服务。
  systemctl restart mysqld
  

  主库创建同步账号--用于从库复制主库的用户,’@‘背面:安全起见,发起不使用%,指定IP。

  -- 创建用户 slave
CREATE USER 'slave'@'%' IDENTIFIED BY '12345678';
-- 授权
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;


  

  要配置副本(从库)在精确的点开始复制过程,需要在 bin log 中记下复制源(主库)的当前坐标,如果主库已经有数据,通过命令行客户端连接到主库,并通过执行以下语句刷新所有表并制止数据写入,如果退出该客户端,锁定将被开释。
  FLUSH TABLES WITH READ LOCK;          
  
  unlock tables;(解锁,这里不使用,可以酌情思量是否需要上锁)
 
  使用下面语句查看bin log日志文件名称和坐标位置
  8.4.0及以后版本   ----SHOW BINARY LOG STATUS;
  8.4.0及从前版本   ----SHOW MASTER STATUS;

  这里我我们记着以下两个值,待会同步需要用到,从这里开始同步。
  File                                            Position
  master-mysql-bin.000002           1214
       以上都是主库操作,下面开始设置从库
     4.从库设置
     配置vim /etc/my.cnf
        server_id=106
        log-bin=master-mysql-bin

修改完成后重启服务
systemctl restart mysqld

5.配置从库连接主库 (留意标点符号)
 CHANGE REPLICATION SOURCE TO
     SOURCE_HOST='192.168.0.103',
     SOURCE_PORT=3306,
     SOURCE_USER='slave',
     SOURCE_PASSWORD='12345678',
     SOURCE_LOG_FILE='master-mysql-bin.000002',
     SOURCE_LOG_POS=1214;

从库执行命令,开始同步主库
START REPLICA;
查看复制状态
 SHOW REPLICA STATUS\G;

如果上面状态有报错或复制失败 可能是数据不一致的原因,在从库上先停止复制
STOP REPLICA;

然后重置复制,它将清除复制元数据存储库,删除所有中继日志文件,并启动新的中继日志文件
   RESET REPLICA;

   末了重启复制
   START REPLICA;
照旧报错,报错内容
Error connecting to source 'slave@192.168.0.103:3306'. This was attempt 2/10, with a delay of 60 seconds between attempts. Message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.
连接到源“”时出错slave@192.168.0.103:3306'. 这是2/10的尝试,两次尝试之间有60秒的延迟。消息:身份验证插件“caching_sha2_password”陈诉错误:身份验证需要安全连接。

尝试在从库服务器登录主库是能登录的,证实账户密码是精确的

然后我重启了主库的数据库服务,每次重启bin-log会改变,再次查看

mysql> SHOW BINARY LOG STATUS;
+-------------------------+----------+--------------+------------------+-------------------+
| File                    | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------------+----------+--------------+------------------+-------------------+
| master-mysql-bin.000003 |      351 |              |                  |                   |
+-------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
再次在从库执行
 CHANGE REPLICATION SOURCE TO
     SOURCE_HOST='192.168.0.103',
     SOURCE_PORT=3306,
     SOURCE_USER='slave',
     SOURCE_PASSWORD='12345678',
     SOURCE_LOG_FILE='master-mysql-bin.000003',
     SOURCE_LOG_POS=351;

发现同步正常,两个yes





      

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表