mysql主从报错:Last_IO_Error: Error connecting to source解决方法

目录

报错

处理方法

1.从库停止同步

[2.主库修改my.cnf 生效配置default-authentication-plugin=mysql_native_password](#2.主库修改my.cnf 生效配置default-authentication-plugin=mysql_native_password)

3.重启服务重新创建复制用户

4.重新同步

5.测试主从


报错

Last_IO_Error: Error connecting to source 'repl_user@192.168.213.15:3306'. This was attempt 3/86400, with a delay of 60 seconds between attempts. Message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

处理方法

1.从库停止同步

mysql> stop slave;

Query OK, 0 rows affected, 2 warnings (0.00 sec)

2.主库修改my.cnf 生效配置default-authentication-plugin=mysql_native_password

root@ms-server1 \~# vi /etc/my.cnf

For advice on how to change settings please see

http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

mysqld

Remove leading # and set to the amount of RAM for the most important data

cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

innodb_buffer_pool_size = 128M

Remove the leading "# " to disable binary logging

Binary logging captures changes between backups and is enabled by

default. It's default setting is log_bin=binlog

disable_log_bin

Remove leading # to set options mainly useful for reporting servers.

The server defaults are faster for transactions and fast SELECTs.

Adjust sizes as needed, experiment to find the optimal values.

join_buffer_size = 128M

sort_buffer_size = 2M

read_rnd_buffer_size = 2M

Remove leading # to revert to previous value for default_authentication_plugin,

this will increase compatibility with older clients. For background, see:

https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin

--把这行注释去掉
default-authentication-plugin=mysql_native_password

bind-address=0.0.0.0

default-storage-engine=Innodb

innodb_buffer_pool_size = 2048M

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

server_id=1

log-bin=mysql-bin

3.重启服务重新创建复制用户

root@ms-server1 \~# systemctl restart mysqld

删除之前创建的复制用户

mysql> drop user 'repl_user'@'%' ;

Query OK, 0 rows affected (0.01 sec)

重新创建用户

use mysql

create user 'repl_user'@'%' identified by 'Antute_123';

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

flush privileges;

4.重新同步

主库查看新状态

show master status\G;

mysql> show master status\G;

*************************** 1. row ***************************

File: mysql-bin.000003

Position: 1023

Binlog_Do_DB:

Binlog_Ignore_DB:

Executed_Gtid_Set:

1 row in set (0.00 sec)

ERROR:

No query specified

从库修改my.cnf配置 default-authentication-plugin=mysql_native_password

root@ms-server2 \~# vi /etc/my.cnf

root@ms-server2 \~# cat /etc/my.cnf

mysqld

default-authentication-plugin=mysql_native_password

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

server_id=2

log-bin=mysql-bin

重启数据库服务

root@ms-server2 \~# systemctl restart mysqld

按照主库当前的状态进行复制

CHANGE MASTER TO MASTER_HOST='192.168.213.15', MASTER_USER='repl_user' ,MASTER_PASSWORD='Antute_123',MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=1023;

mysql> stop slave;

Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> CHANGE MASTER TO MASTER_HOST='192.168.213.15', MASTER_USER='repl_user' ,MASTER_PASSWORD='Antute_123',MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=1023;

Query OK, 0 rows affected, 8 warnings (0.01 sec)

mysql> start slave;

Query OK, 0 rows affected, 1 warning (0.01 sec)

重新查看状态同步正常

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for source to send event

Master_Host: 192.168.213.15

Master_User: repl_user

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 1023

Relay_Log_File: ms-server2-relay-bin.000002

Relay_Log_Pos: 326

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: Yes --显示yes为正常

Slave_SQL_Running: Yes --显示yes为正常

5.测试主从

主库

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| antute_db |

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

mysql> use antute_db;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql>

mysql> show create table user\G;

*************************** 1. row ***************************

Table: user

Create Table: CREATE TABLE `user` (

`id` int NOT NULL AUTO_INCREMENT,

`username` varchar(255) DEFAULT NULL COMMENT '用户名',

`role_id` int DEFAULT NULL COMMENT '角色id',

`password` varchar(255) DEFAULT NULL COMMENT '密码',

`salt` varchar(255) DEFAULT NULL COMMENT '盐',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=37794282 DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

ERROR:

No query specified

主库插入一条数据

mysql> insert into user values(1001,'dadada',10010,'abcd123','ssss');

Query OK, 1 row affected (0.00 sec)

从库查询该表

mysql> use antute_db

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

查询无误同步正常

mysql> select * from user;

+------+----------+---------+----------+------+

| id | username | role_id | password | salt |

+------+----------+---------+----------+------+

| 1001 | dadada | 10010 | abcd123 | ssss |

+------+----------+---------+----------+------+

1 row in set (0.00 sec)

mysql>

相关推荐
Piko61413 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
Quincy_Freak14 小时前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
至乐活着15 小时前
MySQL索引底层原理与查询优化实战:从B+树到执行计划
mysql·b+树·查询优化·sql性能·索引原理
万联WANFLOW16 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
2601_9626838916 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
酱学编程17 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
shushangyun_18 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
SkyWalking中文站18 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
华山令狐虫19 小时前
DBAPI AI 写 SQL:支持动态 SQL 与参数占位符,自然语言一键生成
数据库·人工智能·sql·dbapi
崇山峻岭之间19 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器