mysql8做主从备份

如果主库已经投入使用了,此时如果需要主从同步,需要导出所表结构和数据,然后导入到从库中。这时需要注意修改/var/lib/mysql/auto.cnf中uuid。

master配置

0、修改配置文件 vim /etc/my.cnf

[mysqld]

# 日志文件名

log-bin = mysql-bin

# 要同步的数据库

binlog-do-db = my_db_name

# 主数据库端ID号

server-id = 1

# 跳过checksum的事件

binlog_checksum = none

systemctl restart mysqd.service重启。

1、创建一个专门为复制服务的用户

create user 'repl'@'%'  identified by '123456';

grant replication slave on *.* to 'repl'@'%';

flush privileges;

mysql8.0中默认使用caching_sha2_password插件,由于一些原因,可能我们配置的使用mysql_native_password。

create user 'repl'@'%' identified with mysql_native_password by '123456';

2、查看master 状态

flush tables with read lock;

show master status;

+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000013 |      150 | octopus      |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

slave端配置

1、配置文件 vim /etc/my.cnf

[mysqld]

# 主数据库ID号

server-id = 2

slave_sql_verify_checksum = NONE

replicate-do-db = my_db_name

#replicate-rewrite-db = my_db_name -> new_db_name

重启。

 

2、执行同步

change master to master_host=‘120.77.xx.xx’,master_user=‘repl’,master_password=‘111111’,master_log_file=‘mysql-bin.000013’,master_log_pos=150;

start slave;

3、查看同步状态

show slave status\G;

需要slave_io_running和slave_sql_running都是yes,表示成功。slave_sql_running负责与主机的io通信,slave_io_running负责自己的slave mysql进程。

slave_io_running: no的原因:

(1)mysql有个uuid,然而uuid是唯一的,在物理备份时,可能没有改,需要修改/var/lib/mysql/auto.cnf中的uuid。

(2)server-id是否唯一。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 8.0中的主从复制是一种常用的数据库复制技术,用于将一个MySQL实例(主服务器)的数据复制到另一个MySQL实例(从服务器)。这种复制的配置分为以下几个步骤: 1. 配置主服务器: - 在主服务器的配置文件(通常是my.cnf或my.ini)中,启用二进制日志(binary logging)功能,设置参数`log_bin=ON`。 - 重启主服务器以使配置生效。 2. 创建一个用于复制的专用用户: - 在主服务器上创建一个用户并授予复制权限,以便从服务器可以连接并获取复制日志。例如,可以使用以下命令创建用户:`CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';`,然后使用`GRANT`语句授予权限。 3. 备份主服务器的数据: - 在主服务器上执行全量备份,可以使用`mysqldump`命令或其他备份工具进行备份。 4. 配置从服务器: - 在从服务器的配置文件中,启用从服务器功能,设置参数`server_id`为唯一的整数,并启用中继日志(relay log)功能。 - 重启从服务器以使配置生效。 5. 连接从服务器到主服务器: - 在从服务器上执行连接主服务器的操作:`CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='binlog_file', MASTER_LOG_POS=log_position;`。 - 这里需要提供主服务器的IP地址、复制用户的用户名和密码,以及主服务器当前的二进制日志文件和位置。 6. 启动从服务器的复制进程: - 在从服务器上执行`START SLAVE;`命令来启动从服务器的复制进程。 7. 检查复制状态: - 可以使用命令`SHOW SLAVE STATUS\G;`检查从服务器的复制状态,确保没有错误和延迟。 一旦以上步骤完成,并且主服务器有新数据插入或更新时,从服务器将自动接收并应用这些更改。这样,主从复制就建立起来了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值