mysql8.4.2数据库做主从复制

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

      

MySQL是一个流行的开源关系型数据库管理系统,用于存储、检索和管理大量的数据。截至我所知的信息,MySQL的最新稳定版本并不是8.4.2,而是8.0系列。因此,我将介绍如何在常见的操作系统上安装MySQL 8.0版本。如果您确实需要安装8.4.2版本,请检查是否有这个版本的官方发布,并遵循相应的安装指南。 在Linux系统上安装MySQL 8.0的步骤大致如下: 1. 添加MySQL仓库: 在基于Debian的系统(如Ubuntu)上,您可以使用以下命令添加官方MySQL仓库: ``` wget https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb dpkg -i mysql-apt-config_0.8.14-1_all.deb ``` 在基于Red Hat的系统(如CentOS)上,您可以使用以下命令添加官方MySQL仓库: ``` sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm ``` 2. 安装MySQL服务器: 在添加了MySQL仓库之后,您可以使用包管理器安装MySQL服务器。对于基于Debian的系统,使用以下命令: ``` sudo apt-get update sudo apt-get install mysql-server ``` 对于基于Red Hat的系统,使用以下命令: ``` sudo yum install mysql-community-server ``` 3. 启动MySQL服务: 安装完成后,您可以使用以下命令启动MySQL服务: ``` sudo systemctl start mysqld ``` 4. 查找临时生成的root密码: 在首次启动MySQL服务器时,它会自动生成一个临时的root密码,您可以使用以下命令查看该密码: ``` sudo grep 'temporary password' /var/log/mysqld.log ``` 5. 安全设置MySQL: 使用上面获取的临时密码登录MySQL,然后运行安全安装脚本来设置root密码、移除匿名用户、禁止root远程登录等: ``` sudo mysql_secure_installation ``` 6. 登录MySQL: 完成安全设置后,您可以使用新设置的密码登录MySQL: ``` mysql -u root -p ``` 对于Windows系统,您可以直接下载MySQL Community Server的Windows安装程序,并执行以下步骤: 1. 运行下载的安装程序。 2. 选择安装类型,例如“典型”或“自定义”。 3. 按照安装向导的指示完成安装。 4. 启动MySQL服务,并可能需要设置root用户的密码。 在Mac OS上,您可以使用Homebrew安装MySQL: 1. 首先安装Homebrew(如果尚未安装)。 2. 使用Homebrew安装MySQL: ``` brew update brew install mysql ``` 3. 启动MySQL服务: ``` brew services start mysql ``` 请注意,上述步骤是概括性的,并且具体的命令可能会根据不同的MySQL版本或操作系统版本有所变化。在进行安装之前,请务必查看官方文档以获取最准确的安装指南。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lu云之东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值