Ubuntu 下构建mysql8.0 主从复制

Posted weichenglan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 下构建mysql8.0 主从复制相关的知识,希望对你有一定的参考价值。

 

主从复制原理从机(slave)通过读取和同步主机(master)上的二进制日志上的事件(events),在从机本地的数据库中来重现(也可理解为重做)这些操作,从而达到复制的效果。

本人使用的是在windows上挂在两台 ubuntu 18.04虚拟机  mysql8.0

 一:安装mysql 8.0

mysql 8.0 安装:

1、https://dev.mysql.com/downloads/repo/apt/  

拖到最底部

技术图片

2、运行命令

1 sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb (根据你下载的文件名做出相应的更改)
2 sudo apt update

3、sudo apt install mysql-server

4、输入root密码

这一步需要注意,如果没有该步骤让你输入root密码就得重新安装一遍,反正我第一遍安装没提示输入root密码,导致后面用文件中的密码登录失败,最后修改root密码还是一直失败。最后重新安装一遍就OK了

二、搭建主从复制

1、配置主机(Setting the Replication Master Configuration)

1.1、vim /etc/mysql/mysql.conf.d/mysqld.cnf # 编辑默认的配置文件

1.2、在文件中的mysqld的组中添加一个选项:

[mysqld]

server-id = 456

server-id = 456 #配置主机的server-id 为 456  主机server-Id 可任意配置,默认为0,如果配置主机的server-id0,那么它将会拒绝任何从机的连接

Ps:执行该步骤

指令:

Insert:进入编辑状态

Shift + ; :退出编辑

Wq:保存

1.3、上步骤保存之后,执行以下命令,重启Mysql服务  
service mysql restart

1.4、重新登录MySQL客户端,执行下面的命令

show variables like ‘%server_id%‘

 

2、从机配置(Setting the Replication Slave Configuration)

从机配置同主机一致

3、为复制创建用户(Creating a User for Replication)

登录主机MySQL客户端

3.1、给主机创建从机用户

create user ‘repl_slave‘@‘202.192.63.61‘ identified by ‘password‘;

‘repl_slave’:从机用户名

‘202.192.63.61‘ :从机IP

‘password‘:从机数据库密码

3.2、创建完用户,赋予权限

grant replication slave on *.* to ‘repl_slave‘@‘202.192.63.61‘

Mysql 8.0 默认的密码格式为:’mysql_native_password

3.3、主机上执行命令

show master status;

 

记住这两个值,后面配置有用

 

4、在从机上建立主机的配置(Setting the Master Configuration on the Slave)

其中master_log_filemaster_log_pos为上一步查询对应的两个值;

 

注意:每次服务器重启需要查询主机的日志,即执行指令:show master status;

stop slave;然后从机上重新配置参数,start slave 执行一次

 

以上是关于Ubuntu 下构建mysql8.0 主从复制的主要内容,如果未能解决你的问题,请参考以下文章

MySQL8.0.25使用插件实现主从半同步复制

Mysql8.0 主从复制

MySql8.0主从复制的重置核心步骤

实现MySQL8.0.25集群主从复制

mysql8.0.20 部署主从复制

mysql8.0.20 部署主从复制