mysql8.0一主多从,互为主从配置出现的错误

一.一主多从
1.设置主服务器

vim /etc/my.cnf
[mysqld]
server-id = 1
log-bin=/var/log/mysql/mysql-bin

mkdir /var/log/mysql
chown -R mysql.mysql /var/log/mysql
重启服务

2.主服务器创建用户

CREATE USER '用户名'@'%' identified BY 'password';
GRANT REPLICATION SLAVE ON *.* TO '用户名'@'%';
alter user '用户'@'%'  identified with mysql_native_password BY '密码';
flush privileges;
show master status\G   #查看主库日志名称,和节点

3.从服务

一从
[mysqld]
server-id = 2  # 每个从服务器的ID必须唯一
重启服务
二从
[mysqld]
server-id = 3  # 每个从服务器的ID必须唯一
重启服务

4.从服务中配置

CHANGE MASTER TO
  MASTER_HOST = '主服务器ip',
  MASTER_USER = '用户名',
  MASTER_PASSWORD = 'password',
  MASTER_LOG_FILE = 'mysql-bin.000001',  # 主库日志名称
  MASTER_LOG_POS = 12345;  # 主库节点
  
START SLAVE;  启动
show slave status\G   查看IO线程和sql线程的状态

二、互为主从
1.改主服务器和从服务器配置文件

一主服务器
vim /etc/my.cnf
[mysqld]
server-id = 1
log-bin=/var/log/mysql/mysql-bin

mkdir /var/log/mysql
chown -R mysql.mysql /var/log/mysql
systemctl restart mysqld
二主服务器
vim /etc/my.cnf
[mysqld]
server-id = 2
log-bin=/var/log/mysql/mysql-bin

mkdir /var/log/mysql
chown -R mysql.mysql /var/log/mysql

systemctl restart mysqld

两个服务器中的server-id要不一致

2.两个数据库中都创建用户

创建用户并授权:
create user '用户名'@'%' identifid by 'password';
GRANT REPLICATION SLAVE ON 库名.表名 TO '用户名称'@'%';
取消密码认证
alter user 用户名@'%' identified with mysql_native_password BY '密码';

show master status\G   #查看主库日志名称,和节点

3.change设置链接两个服务器都要设置

进入两个服务器数据库\e进行编辑 
CHANGE MASTER TO
  MASTER_HOST = '主服务器ip',
  MASTER_USER = '用户名',
  MASTER_PASSWORD = 'password',
  MASTER_LOG_FILE = 'mysql-bin.000001',  # 主库日志名称
  MASTER_LOG_POS = 12345;  # 主库节点
START SLAVE;
show slave status\G   查看IO线程和sql线程的状态
mysql 导入是报错:Parameters SOURCE_LOG_FILE, ... cannot be set when SOURCE_AUTO_POSITION is active.
解决办法
修改root密码认证插件
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
配置文件修改默认认证插件为mysql_native_password,具体修改方法如下:
vim /etc/my.cnf
加入
default_authentication_plugin=mysql_native_password
问题2#uuid
    Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
  解决办法
  [root@server ~] mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bk
  [root@server ~] /etc/init.d/mysqld restart  
MySQL主从复制报错Authentication plugin ‘caching_sha2_password‘ reported error: Authentication requires sec
解决办法
进入主库
执行语句:use mysql
再执行:select plugin from`user` where user = '你的用户的名字';
不出意外查询的结果为:caching_sha2_password
执行语句进行修改:ALTER USER '你的名字'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值