Mysql8.0数据库数据迁移与主从备份,最简洁易懂做法

一、准备环境

两台Linux服务器

两个数据库mysql8.0

windows系统和mysql5.7版本,还是有一些差异的。

可以参考一下链接:

https://blog.csdn.net/qq3434569/article/details/112308028?spm=1001.2014.3001.5501  Windwos系统,5.7版本Mysql数据库主从配置操作方案

 

二、配置过程

1.配置主数据库

(1)使用root角色登录MYSQL命令行,创建用户并授权

CREATE USER 'databackup'@'从服务器ip' IDENTIFIED WITH mysql_native_password BY 'Admin123456@';
#密码要超过8位有英文大写和特殊字符
GRANT REPLICATION SLAVE ON *.* TO 'databackup'@'从服务器ip';

flush privileges;

 

(2)配置文件设置

修改 Master 的配置文件/etc/my.cnf,在my.cnf文件中加入如下配置内容

[mysqld]

log-bin=mysql-bin

server-id=1

binlog-do-db=数据库1

binlog-do-db=数据库2

# 有几个加几个

 

(3)重启数据库,配置生效

systemctl restart mysqld

 

2.主库锁表(或关闭服务)

flush tables with read lock;

在这里插入图片描述

3.迁移数据

跨服务器导出导入数据和函数

mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2

将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错;

在主服务器中进行操作,其中 -R 是导出存储过程和函数

mysqldump -u账号 -p密码 -C -R --databases 数据库1|mysql --host=从数据库ip -u账号 -p密码 数据库1;

 

4.配置主从关系

 

(1)主库

mysql命令行,执行命令

show master status;

 

复制file 和position。

(2)从库设置

修改 slave的配置文件/etc/my.cnf

在my.cnf文件中加入如下配置内容,主从库的server-id必须不一致

[mysqld]

server-id=2

(3)配置主从

mysql命令行,执行命令

change master to

master_host='主服务器ip',

master_user='databackup', #这个是前面开放的用户名和下面的密码

master_password='Admin123456@',

master_log_file='mysql-bin.000001', #binlog 的 File 名称和下面的备份节点

master_log_pos=483;

(4)开启主从复制

start slave

 

(5)查看主从复制状态

show slave status

必须要两个yes,才算成功。如果slave_io_running,为no,可能原因是,主从库server-id相同。

如果slave_io_running,为connect,可能原因是配置主从的时候,主数据库ip或者账号密码不正确,或者权限不足

5.解除锁表(开启服务)

unlock tables;

 

 

三、其它

问题1:无法创建用户。

 

解决方案:

CREATE USER 'databack'@'从服务器ip' IDENTIFIED WITH mysql_native_password BY 'Admin@123';

问题2:无法授权用户。

GRANT REPLICATION SLAVE ON *.* TO 'databack'@'从服务器ip';

 

解决方案:

使用root登录

mysql -uroot -pAdmin123456@


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值