当前位置:   article > 正文

mysql数据库主从同步_mysql主从删除数据同步用户

mysql主从删除数据同步用户


一、准备工作

1.1 安装或关闭以下服务

关闭防火墙等

linux时间校对

mysql8安装

mysql增删改查

1.2 本次安装环境

配置信息说明
linux系统版本CentOS7.4
内核ml-3.10.0
mysql版本8.0.33
主mysqlIP地址192.168.1.10
从mysqlIP地址192.168.1.11

2、主数据库配置

完成mysql8安装并登录数据库,完成主数据库增加

2.1主数据库配置

vim /etc/my.cnf
[mysqld]
server-id=1                #server-id表示主库的唯一标识
log-bin=mysql-bin      #log-bin表示开启二进制日志
binlog-do-db=testdb   #binlog-do-db表示需要同步的数据库名
  • 1
  • 2
  • 3
  • 4
  • 5
  • server-id 设置主服务器的唯一标识
  • log_bin 指定二进制日志的名称
  • binlog-do-db 需要同步的数据库名。
    重启数据库
systemctl restart  mysqld
  • 1

2.2创建用户

创建用户test并指定该地址在192.168.1.11上登录,授予REPLICATION SLAVE权限

mysql> CREATE USER 'test'@'192.168.1.11' IDENTIFIED BY 'Yrdy123!';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'test'@'192.168.1.11';
  • 1
  • 2
  • REPLICATION SLAVE权限 允许用户作为复制从服务器连接到主服务器并执行复制操作

2.3查看信息

查看主数据库服务器的二进制日志文件和位置信息
mysql> show master status;
±--------------------------±------------±-------------±--------------------------------±------------------------+
| File      | Position| Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±--------------------------±------------±-------------±--------------------------------±------------------------+
| mysql-bin.000001|718  | testdb     |         |         |
±--------------------------±------------±-------------±--------------------------------±------------------------+

  • File 当前正在写入二进制日志的日志文件名。
  • Position 当前正在写入二进制日志的位置。

三、从主数据库配置

3.1从数据库配置

vim /etc/my.cnf
[mysqld]
server-id=2
log-bin=mysql-bin
binlog-do-db=testdb
  • 1
  • 2
  • 3
  • 4
  • 5

重启数据库

systemctl restart  mysqld
  • 1

创建数据库

mysql> CREATE DATABASE testdb;          #从数据库需要先创建与主数据库相同的数据库
  • 1

3.2连接主服务器

连接主服务器

mysql> change master to master_host='192.168.1.10', master_user='test', master_password='Yrdy123!', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=718;
  • 1
  • MASTER_HOST = ‘主服务器IP地址’,
  • MASTER_PORT = 主服务器端口号,
  • MASTER_USER = ‘拥有主从复制权限的账号名称’,
  • MASTER_PASSWORD = ‘拥有主从复制权限的账号密码’,
  • MASTER_LOG_FILE = ‘主服务器上的File值’,
  • MASTER_LOG_POS = 主服务器上的Position值;

启动从服务器与主服务器的同步

mysql> start slave;
  • 1

查看服务器的状态

mysql> show slave status\G;
  • 1

在这里插入图片描述

  • 确保Slave_IO_Running 和 Slave_SQL_Running 值都为 Yes,表示主从同步已经成功配置。

3.3测试

在主数据表中新增列

mysql> ALTER TABLE 第99小学
ADD COLUMN 备注信息 VARCHAR(100)
  • 1
  • 2

从数据库查看是否新增成功

mysql> DESC 第99小学; 
  • 1

4、其他

4.1连接完毕后发现Slave_IO_Running值异常,

在这里插入图片描述
解决
发现设置连接主服务器的IP地址写错,关闭主从复制,在重新连接

停止 MySQL 的主从复制,在主数据库上先输入
STOP SLAVE;
主数据库上重置主从同步配置
RESET SLAVE;
从数据库上重置主从同步配置
RESET SLAVE;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

重新连接主服务器(注意重新查看主服务器Position值)

mysql> change master to master_host='192.168.1.10', master_user='test', master_password='Yrdy123!', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=718;
  • 1

4.2报错Error connecting to source 'test@192.168.1.10:3306'. This was attempt 2/86400, with a delay of 60 seconds between attempts. Message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

  • “default_authentication_plugin=mysql_native_password” 是 MySQL 数据库中的一个配置选项,它指定了默认的身份验证插件。在 MySQL 8.0 之前的版本中,默认的身份验证插件是 “mysql_native_password”。这个插件使用基于密码的身份验证,将用户提供的密码与存储在数据库中的加密密码进行比较来验证用户身份。
    然而,在 MySQL 8.0 版本中,推荐使用更安全的身份验证插件 “caching_sha2_password”。因此,默认的身份验证插件已从 “mysql_native_password” 更改为 “caching_sha2_password”。
    解决
vim /etc/my.cnf
[mysqld]
default_authentication_plugin=mysql_native_password
  • 1
  • 2
  • 3

修改完成后重启服务

systemctl restart  mysqld
  • 1

进入数据库删除已创建用户并在重新创建一次

mysql> DROP USER 'test'@'192.168.1.11';           #删除用户
mysql> CREATE USER 'test'@'192.168.1.11' IDENTIFIED BY 'Yrdy123!';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'test'@'192.168.1.11';
  • 1
  • 2
  • 3

再次查看主数据库的状态,File 和 Position数值可能会变化,其他在按上面进行一次操作

mysql> show master status; 
  • 1

4.3报错Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'ANONYMOUS' at source log mysql-bin.000003, end_log_pos 1789. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

解决
关闭主从同步后,在从数据库创建数据库,需要和主数据库保持一致。创建完毕后再次连接主服务器正常

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/538986
推荐阅读
相关标签
  

闽ICP备14008679号